جدول المحتويات
ألا تريد استخدام Excel VBA وتريد إنشاء FOR Loop في Excel باستخدام الصيغة؟ في هذه المقالة ، لقد أوضحت كيف يمكنك إنشاء FOR Loop باستخدام الصيغ.
إذا كنت تعرف كيفية البرمجة باستخدام Excel VBA ، فأنت مبارك 🙂 . ولكن ، إذا لم تكتب رمزًا في VBA مطلقًا أو تريد الاحتفاظ بمصنف Excel الخاص بك خاليًا من رمز Excel VBA ، ففي معظم الأوقات عليك التفكير خارج الصندوق لإنشاء حلقة بسيطة .
تنزيل ملف العمل
قم بتنزيل ملف العمل من الرابط أدناه:
إنشاء حلقة باستخدام الصيغ. xlsx3 أمثلة لعمل حلقة FOR في Excel باستخدام الصيغة
هنا ، سأوضح 3 أمثلة لعمل FOR Loop في Excel باستخدام معادلة. دعونا نرى الأمثلة التفصيلية.
1. تطبيق الدوال المجمعة على Make FOR Loop في Excel
الآن ، دعني أعرف الخلفية التي تشجعني على كتابة هذا المثال.
أنا مؤلف بعض الدورات التدريبية في Udemy. إحدى الدورات التدريبية على تنسيق Excel الشرطي. عنوان الدورة هو: تعلم التنسيق الشرطي لـ Excel مع 7 مشاكل عملية. [ للحصول على وصول مجاني إلى هذه الدورة ، انقر هنا ].
في لوحة مناقشة الدورة ، سألني أحد الطلاب سؤالاً على النحو التالي [لقطة شاشة].
سؤال طرحه طالب في Udemy.
اقرأ السؤال أعلاه بعناية وحاول حله ...
خطوات حل المشكلة أعلاه:
هنا ، أناسيستخدم وظائف OR و OFFSET و MAX و MIN و ROW مثل Excel Formula لإنشاء FOR Loop .
- أولاً ، مهمتك هي فتح مصنف جديد وإدخال القيم أعلاه واحدة تلو الأخرى في ورقة العمل [البدء من الخلية C5 ] .
- ثانيًا ، حدد النطاق الكامل [من الخلية C5: C34 ].
- ثالثًا ، من الصفحة الرئيسية الشريط & GT ؛ & GT ؛ انقر فوق الأمر تنسيق شرطي .
- أخيرًا ، حدد الخيار قاعدة جديدة من القائمة المنسدلة.
في هذا الوقت ، يظهر مربع حوار قاعدة تنسيق جديدة .
- الآن ، في حدد نوع القاعدة نافذة & gt؛ & gt ؛ حدد استخدم صيغة لتحديد الخلايا المراد تنسيقها الخيار.
- ثم ، في تنسيق القيم حيث تكون هذه الصيغة صحيحة ، حقل ، اكتب هذه الصيغة:
=OR(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)
- الآن ، حدد نوع التنسيق المناسب بالنقر فوق الزر تنسيق… في مربع الحوار.
في هذا الوقت ، سيظهر مربع حوار باسم تنسيق الخلايا .
- الآن ، من ملء الخيار & GT ؛ & GT. عليك أن تختار أي من الألوان. هنا ، اخترت الخلفية أزرق فاتح . يمكنك أيضًا رؤية نموذج على الفور. في هذه الحالة ، حاول اختيار أي لون فاتح . لأن اللون الداكن قد يخفي البيانات المدخلة. بعد ذلك ، قد تحتاج إلى تغيير لون الخط .
- ثم ، يجب أن تضغط موافق لتطبيق التشكيل.
- بعد ذلك ، عليك الضغط على موافق على قاعدة تنسيق جديدة مربع الحوار. هنا ، يمكنك رؤية العينة على الفور في المربع معاينة .
أخيرًا ، ستحصل على الأرقام المنسقة.
دعني أوضح لك الخوارزمية لحل المشكلة أعلاه:
- هنا ، لجعلك تفهم الخوارزمية بسهولة ، سأفعل اشرح الأمر برمته باستخدام خليتين مرجعيتين: الخلايا C11 و C17 . في الخلايا C11 و C17 ، تكون القيم 10 و 20 على التوالي (الصورة أعلاه). إذا كنت معتادًا على صيغ Excel ، فيمكنك شم رائحة الدالة OFFSET ، حيث تعمل وظيفة OFFSET مع النقاط المرجعية.
- الآن ، تخيل أنني آخذ القيم من نطاقات الخلايا C8: C11 & amp؛ C11: C14 و C14: C17 & amp؛ C17: C20 جنبًا إلى جنب [الصورة أدناه]. الخلايا المرجعية هي C11 و C17 وأنا آخذ ما مجموعه 7 خلايا حول الخلية المرجعية. سوف تحصل على صورة تخيلية مثل ما يلي. من الجزء الأول ، يمكنك العثور على نمط من الصورة. C9 – C12 = 3 ، C10-C13 = 3 ، هناك نمط. ولكن بالنسبة للجزء الثاني ، لا يوجد مثل هذا النمط.
- لذلك ، دعونا نبني الخوارزمية مع مراعاة النمط أعلاه. قبل بناء الصيغة المشتركة ، سأوضح ما ستكون عليه الصيغ لـالخلايا C11 و C17 ثم ستقوم بتعديل الصيغة لجعلها مشتركة للجميع. بالنسبة إلى نقطة مرجعية (مثل C11 أو C17 ) ، سأأخذ ما مجموعه 7 من الخلايا حولها (بما في ذلك النقطة المرجعية) وأضعها جنبًا إلى جنب جانب في الصيغة يُنشئ المصفوفات. ثم سأكتشف الفرق في المصفوفات إذا كان أي من الاختلافات يساوي 3 أن الخلية المرجعية ستكون TRUE ذات قيمة.
- هنا ، يمكنني قم بذلك بسهولة باستخدام الدالة OFFSET حيث تقوم الدالة OFFSET بإرجاع صفيف. لنقل لمرجع الخلية C11 ، يمكنني كتابة الصيغة على النحو التالي: = OR (OFFSET (C11، 0، 0، 4، 1) -OFFSET (C11، -3، 0، 4، 1) = 3) . ماذا ستعود هذه الصيغة؟ ستُرجع دالة الإزاحة الأولى في الصيغة الصفيف: {10؛ 11 ؛ 12 ؛ 15} ، ستعيد دالة الإزاحة الثانية المصفوفة {5 ؛ 8 ؛ 9 ؛ 10} . وأنت تعلم {10 ؛ 11 ؛ 12 ؛ 15} - {5 ؛ 8 ؛ 9 ؛ 10} = {10-5 ؛ 11-8 ؛ 12-9 ؛ 15-10} = {5 ؛ 3 ؛ 3 ؛ 5} . عندما يتم اختبار هذه المصفوفة منطقيًا باستخدام = 3 ثم يقوم Excel بالحساب داخليًا على النحو التالي: {5 = 3؛ 3 = 3 ؛ 3 = 3 ؛ 5 = 3} = {خطأ ، حقيقي؛ حقيقي؛ خطأ} . عند تطبيق الدالة OR على هذه المصفوفة: OR ({False؛ True؛ False؛ True} ، تحصل على TRUE . لذا الخلية C11 يحصل على القيم الحقيقية كما تم إرجاعها.
- لذا ، أعتقد أنك قد حصلت على المفهوم الكامل لكيفية عمل هذه الخوارزمية. الآن هناك مشكلة. يمكن أن تعمل هذه الصيغة منالخلية C8 ، أعلى الخلية C8 ، توجد خلايا 3 . ولكن بالنسبة للخلايا C5 و C6 و و C7 لا يمكن لهذه الصيغة أن تعمل. لذلك يجب تعديل الصيغة لهذه الخلايا.
- الآن ، بالنسبة للخلايا C5 إلى C7 ، نريد ألا تأخذ الصيغة في الاعتبار الجزء العلوي 3 خلايا. على سبيل المثال ، بالنسبة للخلية C6 ، لن تكون صيغتنا مثل صيغة الخلية C11 : = OR (OFFSET (C11 ، 0 ، 0 ، 4 ، 1) - OFFSET (C11، -3، 0، 4، 1) = 3) .
- هنا ، للخلية C5 ، ستكون الصيغة مثل: OR (OFFSET (C5، 3، 0، 1، 1) -OFFSET (C5، 0، 0، 1، 1) = 3) .
- ثم ، للخلية C6 ، ستكون الصيغة مثل: OR (OFFSET (C6، 2، 0، 2، 1) -OFFSET (C6، -1، 0، 2، 1) = 3) .
- بعد أنه بالنسبة للخلية C7 ، ستكون الصيغة مثل: OR (OFFSET (C7، 1، 0، 3، 1) -OFFSET (C7، -2، 0، 3، 1) = 3) .
- مرة أخرى ، بالنسبة للخلية C8 ، ستكون الصيغة مثل: أو (OFFSET (C8، 0، 0، 4، 1) -OFFSET ( C8، -3، 0، 4، 1) = 3) ؛ [هذه هي الصيغة العامة].
- بعد ذلك ، بالنسبة للخلية C9 ، ستكون الصيغة مثل: OR (OFFSET (C9، 0، 0، 4، 1) - OFFSET (C9، -3، 0، 4، 1) = 3) ؛ [هذه هي الصيغة العامة].
- أخيرًا ، هل تجد بعض الأنماط من الصيغ أعلاه؟ تم تقليل وسيطة صفوف الدالة OFFSET من 3 إلى 0 ؛ زاد وسيطة الارتفاع من 1 إلى 4 . تم تقليل وسيطة صفوف الدالة OFFSET الثانية من 0 إلى -3 وزاد وسيطة الارتفاع من 1 إلى 4 .
- أولاً ، أول OFFSET سيتم تعديل وسيطة صفوف الدالة كما يلي: MAX (ROW (C $ 5) -ROW (C5) +3،0)
- ثانيًا ، الثانية سيتم تعديل وسيطة صفوف الدالة OFFSET كما يلي: MAX (ROW (C $ 5) -ROW (C5)، - 3)
- ثالثًا ، أول OFFSET سيتم تعديل وسيطة ارتفاع الوظيفة على النحو التالي: MIN (ROW (C5) -ROW (C $ 5) +1،4)
- رابعًا ، الثانية OFFSET سيتم تعديل وسيطة ارتفاع الوظيفة على النحو التالي: MIN (ROW (C5) -ROW (C $ 5) +1،4)
- الآن ، حاول فهم التعديل أعلاه. هذه ليست صعبة الفهم. كل هذه التعديلات الأربعة تعمل كـ لـ LOOP من Excel VBA لكنني قمت ببنائها باستخدام صيغ Excel.
- لذلك ، لديك الطرق التي تستخدمها الصيغة العامة يعمل مع الخلايا من C5: C34 .
لذلك كنت أتحدث عن التكرار الحلقي في جداول بيانات Excel. إذن ، هذا مثال ممتاز على التكرار الحلقي في Excel. هنا ، في كل مرة تأخذ الصيغة 7 خلايا وتعمل على الخلايا لاكتشاف قيمة محددة.
2. استخدام IF & amp؛ وظائف OR لإنشاء حلقة FOR في Excel
في هذا المثال ، افترض أنك تريد التحقق مما إذا كانت الخلايا تحتوي على أي قيم أم لا. علاوة على ذلك ، مع Excel VBA FOR Loop ، يمكنك القيام بذلك بسهولة ولكن هنا ، سأفعل ذلك باستخدام صيغة Excel.
الآن ، يمكنك استخداميعمل IF ، و OR على أنه صيغة Excel لإنشاء FOR Loop . علاوة على ذلك ، يمكنك تعديل هذه الصيغة وفقًا لتفضيلاتك. الخطوات موضحة أدناه.
الخطوات:
- أولاً ، عليك تحديد خلية مختلفة E5 حيث تريد أن ترى الحالة .
- ثانيًا ، يجب عليك استخدام الصيغة المقابلة في الخلية E5 .
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- بعد ذلك ، اضغط على ENTER للحصول على النتيجة.
انهيار الصيغة
هنا ، ستعيد الدالة OR TRUE إذا أصبح أي من المنطق المعطى TRUE .
- أولاً ، B5 = "" هو منطق الأول ، والذي سيتحقق مما إذا كانت الخلية B5 تحتوي على أي قيمة أم لا.
- ثانيًا ، C5 = ”” هو منطق 2nd ، والذي سيتحقق مما إذا كانت الخلية C5 تحتوي على أي قيمة أم لا.
- ثالثًا ، D5 = ”” هو منطق 3rd . وبالمثل ، الذي سيتحقق مما إذا كانت الخلية D5 تحتوي على أي قيمة أم لا.
الآن ، ترجع الدالة IF النتيجة التي ستفي بشرط معين .
- عندما تعطي الوظيفة OR TRUE ، فستحصل على " معلومات مفقودة " على أنها الحالة . خلاف ذلك ، ستحصل على " تم " على أنها الحالة .
- بعد ذلك ، يجب عليك سحب مقبض التعبئة 2> رمز الملء التلقائي البيانات المقابلة في بقيةالخلايا E6: E13 . أو يمكنك النقر نقرًا مزدوجًا فوق رمز مقبض التعبئة .
أخيرًا ، ستحصل على جميع النتائج .
3. استخدام وظيفة SUMIFS لإنشاء حلقة FOR في Excel
لنفترض أنك تريد عمل الفاتورة الإجمالية لشخص معين. في هذه الحالة ، يمكنك استخدام FOR Loop باستخدام صيغة Excel. هنا ، سأستخدم دالة SUMIFS لإنشاء FOR Loop في Excel. الخطوات موضحة أدناه.
الخطوات:
- أولاً ، عليك تحديد خلية مختلفة F7 حيث تريد أن ترى الحالة .
- ثانيًا ، يجب استخدام الصيغة المقابلة في الخلية F7 .
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- بعد ذلك ، اضغط على ENTER للحصول على النتيجة.
انهيار الصيغة
- هنا ، $ C $ 5: $ C $ 13 هو نطاق البيانات الذي منه SUMIFS ستقوم الدالة بالتجميع.
- ثم ، $ B $ 5: $ B $ 13 هو نطاق البيانات من حيث تقوم الدالة SUMIFS بفحص المعايير المحددة
- أخيرًا ، E7 هو المعيار.
- لذلك ، ستضيف الدالة SUMIFS المدفوعات لقيمة الخلية E7 .
- بعد ذلك ، يجب عليك سحب رمز مقبض التعبئة للتعبئة التلقائية للبيانات المقابلة في باقي الخلايا F8: F10 .
أخيرًا ستحصل على النتيجة.
خاتمة
نتمنى لكوجدت هذه المقالة مفيدة. هنا ، قمنا بشرح 3 أمثلة مناسبة لعمل FOR Loop في Excel باستخدام الصيغ. يمكنك زيارة موقعنا على الويب Exceldemy لمعرفة المزيد من المحتوى المتعلق بـ Excel. من فضلك ، قم بإسقاط التعليقات أو الاقتراحات أو الاستفسارات إذا كان لديك أي منها في قسم التعليقات أدناه.