كريم قام بنشر أكتوبر 22, 2004 قام بنشر أكتوبر 22, 2004 في دالة الIF لايمكن عمل أكثر من 7 أو 8 معادلات . كيف يمكن عمل عدد كبير من المعادلات تقريبا أكثر من 60 معادلة ؟ أتمنى أن يكون السؤال واضح وأن يكون له حل!!!!!!
ابومؤنس قام بنشر أكتوبر 23, 2004 قام بنشر أكتوبر 23, 2004 (معدل) السلام عليكم ورحمة الله وبركاتة ,, اعجبني هذا السؤال لان توقيتة جيد بالنسبة لي فانا حاليا اقوم بالتحضير لدرس حول شرح الدالة IF في خلايا الاكسيل , وسوف اضعة في المنتدي عندما يكون جاهز. بالنسبة لموضوع السؤال . من الممكن جدا عمل دالة تسمح بتخطي الحد المسموح لتداخل الدوال في الخلية الواحدة . اذا انة من المعلوم للجميع ان الخلايا في الاكسيل تسمح بتداخل الدوال في الخلية الواحدة الي حد 7 دوال فقط . ولكن ما العمل لتخطي هذا الحد ؟ باختصار شديدة نقسم الدوال المراد تداخلة علي عدد من الخلايا حسب العدد المسموح بة . مثال : المطلوب من السؤال السابق تداخل او تكرار 60 دالة . معني هذا اننا نحتاج الي 9 خلايا نضع في كل خلية 7 دوال تقوم هذا الدوال باختبار ( نظرا لطبيعة عمل الدالة IF ) القيمة المداخلة في خلية معينة وارجاع النتيجة . ثم نحدد في نهاية كل خلية ان تكون القيمة التي ترجها الدالة IF مكان ( FALSE ) هو فراغ . الطريقة التي تعتمد عليها هذا الفكرة _ وهي مجربة _ هي توزيع القيمة علي اكثر من خلية . وتقوم كل خلية من الخلايا السابقة باختبار القيمة المعطي فاذا كانت القيمة ضمن القيم المحدد لها ترجع النتيجة المطلوبة منها واذا كانت غير ذلك ترجع فراغ , وفي النهاية نضع خلية تقوم بارجاع النتائج الصحية فقط ( طبعا في حالة تحقيق النتيجة فانة خلية واحدة فقط هي التي ترجع النتيجة . بينما بقية الخلايا ترجع النتيجة " فراغ " ) . والمعادلة التي وضعتها لارجاع هذة النتيجة تتم بواسطة ( & ) علي النحو التالي : الخلية الاولي & الخلية الثانية & ...........( حتي اخر الخلية الموجودة فيها المعادلات السابقة ) , - معاك حق كلام كثير وقد لا يفهم منة ولكن ارجو ان يكون الملف المرفق يساعد علي الفهم وان شاء سيكون هناك شرح اكثر توضيحا وسوف يكون بالصور والعبارة التوضيحية لتقريب الفكرة - باقي توضيح بسيط لفكرة الملف المرفق : في هذا الملف تقوم الفكرة علي اساس ان يقوم المستخدم بادخال رقم من 1 حتي 29 ( عدد حروف اللغة الانجليزية ) وتقوم الدالة IF بارجاع الحرف المقابل لهذا الرقم فمثلا 1 يقابلة الحرف A 2 يقابلة الحرف B وهاكذا حتي نهاية الحروف . وقد احتج الي اربعة خلايا تقوم باختبار الرقم الذي كتبة المستخدم وارجاع النتيجة , بينما تقوم العلامة ( & ) بارجاع الحرف المقابل لذلك الرقم في حالة تحيق الشرط , ارجو منكم تجربة الفكرة وتجربة الملف المرفق , وترقبوا الشرح للدالة IF . وباللة التوفيق ,,,, IF تكرار الدالة.zip تم تعديل أكتوبر 23, 2004 بواسطه ابومؤنس
كريم قام بنشر أكتوبر 24, 2004 الكاتب قام بنشر أكتوبر 24, 2004 السلام عليكم ورحمته الله وبركاته.. الأخ الفاضل:أبومؤنس . أشكرك جزيل الشكر على هذا الشرح، لكنني أحب أن أوضح شئ وهو أنني خلال اليومين السابقين وقبل الإطلاع على ردك، عملت بشكل مكتف لإجد حل وقد توصلت إلى حل ولكن.. وهذا الحل فيه بعض التشابه مما قلت وسوف أقول لك الحل ونتائجه والذى آمل أن أكون قد أضفت معلومة بسيطة إلى معلوماتك وخبراتك في هذا المجال. لقد أضفت في خلية واحدة خمسين دالة وذلك بإستخدام ال&. وعند إضافة الدالة الحادي والخمسين تأتيني رسالة تقول:الصيغة أطول من الحد المسموح. وأنا عندي تقريبا سبعين دالة؟ وقد حاولت تقريبا بكل الطرق ولازلت أحاول ولكن... ملاحظة: لم أفهم آخر كلامك والربط بين التسعة الخلايا!!! مع جزيل الشكر والإحترام.
ابومؤنس قام بنشر أكتوبر 24, 2004 قام بنشر أكتوبر 24, 2004 السلام عليكم ورحمة الله وبركاتة ,, اشكرك اخي كريم علي وضع التجربة التي حصلت عليها هنا وسوف اقوم ان شاء الله بتجربتها , ويبدو انك مصمم علي وضع السبعون معادلة كلها في خلية واحدة ربنا يوفقك , وارجو منك اذا حصلت علي طريقة جديدة ومفيدة في ذلك تضعها هنا للفائدة ,, ملاحظة: لم أفهم آخر كلامك والربط بين التسعة الخلايا!!! بالسبة لعملية الربط هي لوضع النتيجة التي تم الحصول عليها من الخلايا السابقة في خلية واحدة , فمثلا : في المثال السابق الموجود في الملف المرفق تجد ان الخلية B4 تعمل علي جلب النتائج من الخلايا الاربعة بواسطة المعادلة التالية : =C3&D3&E3&F3 وهي الطريقة تساعد علي احضار النتيجة من واحدة من الخلايا التي وضعت الدالة IF فبدلا من متابعة اي واحدة من تلك الخلايا الاربعة هي التي حصلت علي النتيجة فان النتجة سوف تتم عملية حصرها في خلية واحدة . ومن الممكن جعل الخلايا الاربعة مخفية او بعيدة عن المستخدم والاكتفاء فقط بخليتين الاولي لكتابة المعطيات والثانية للحصول علي النتائج , وهنا يجب ان اذكر الملاحظة التالية ( انة اذا كانت عملية كتابة المعادلات صحيحة دون اخطاء فانة يجب ان تكون خلية واحدة فقط هي التي تعطي النتيجة . اي ان الشروط السابقة يجب ان تنطبق علي نتيجة واحدة فقط . ) , ففي الملف المرفق مثلا : لكل رقم حرف يقابلة ولا يمكن ان نحصل علي حرفين اواكثر من رقم واحد وبالتي فان خلية واحدة من الخلايا الاربعة هي التي تعطينا الحرف المقابل لذلك الرقم . وبدلا من البحث عن هذة الخلية لمعرفة النتيجة فاننا نضع المعادلة السابقة في خلية اخري لعرض النتائج وبالتالي ستكون النتيجة مؤخوذة من خلية واحدة . بينما باقي الخلايا ( في حالة عدم تحقيق الشروط التي تم وضعها فيها ) فانها ترجع القيمة " فراغ " . ولتوضيح الفكرة اكثر دعنا نجرب ادخال رقم في الخلية B2 وليكون الرقم 4 في هذة الحالة ستقوم الدالة IF الموجودة في الخلية C3 بارجاع الحرف D ( طبعا لانة ضمن الشروط المدونة في داخلها ) بينما بقية الخلايا ارجعت فراغ . اذا نظرت الي الخلية B4 ستجد انها ارجعت نفس الحرف لانة قامت بتجميع النتائج للاربعة الخلايا فكانت علي النحو التالي ( D& فراغ & فراغ & فراغ ) . انا اسف يبدو ان الشرح طول اكثر من المفترض . ارجو ان تكون الفكرة اصبحت اكثر وضوحا , وبالله التوفيق ,,,,
الردود الموصى بها