كيفية عمل حلقة FOR في Excel باستخدام الصيغة (3 أمثلة)

  • شارك هذا
Hugh West

ألا تريد استخدام Excel VBA وتريد إنشاء FOR Loop في Excel باستخدام الصيغة؟ في هذه المقالة ، لقد أوضحت كيف يمكنك إنشاء FOR Loop باستخدام الصيغ.

إذا كنت تعرف كيفية البرمجة باستخدام Excel VBA ، فأنت مبارك 🙂 . ولكن ، إذا لم تكتب رمزًا في VBA مطلقًا أو تريد الاحتفاظ بمصنف Excel الخاص بك خاليًا من رمز Excel VBA ، ففي معظم الأوقات عليك التفكير خارج الصندوق لإنشاء حلقة بسيطة .

تنزيل ملف العمل

قم بتنزيل ملف العمل من الرابط أدناه:

إنشاء حلقة باستخدام الصيغ. xlsx

3 أمثلة لعمل حلقة 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. من فضلك ، قم بإسقاط التعليقات أو الاقتراحات أو الاستفسارات إذا كان لديك أي منها في قسم التعليقات أدناه.

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.