نحوه ایجاد حلقه FOR در اکسل با استفاده از فرمول (3 مثال)

  • این را به اشتراک بگذارید
Hugh West

آیا نمی خواهید از Excel VBA استفاده کنید و می خواهید با استفاده از Formula یک حلقه FOR در اکسل ایجاد کنید؟ در این مقاله، من نشان داده‌ام که چگونه می‌توانید با استفاده از فرمول‌ها، FOR Loop را بسازید.

اگر می‌دانید چگونه با اکسل VBA کدنویسی کنید، خجسته هستید 🙂 . اما، اگر هرگز کدی را در VBA ننوشتید یا می‌خواهید کتاب کار اکسل خود را عاری از کدهای اکسل VBA نگه دارید، بیشتر اوقات باید به فکر ایجاد یک simple loop .

دانلود Working File

فایل کاری را از لینک زیر دانلود کنید:

Make Loop Using Formulas. xlsx

3 مثال برای ایجاد حلقه FOR در اکسل با استفاده از فرمول

در اینجا، نمونه های 3 را برای ایجاد حلقه FOR در اکسل با استفاده از یک نشان می دهم. فرمول. بیایید نمونه های دقیق را ببینیم.

1. اعمال توابع ترکیبی برای ایجاد حلقه FOR در اکسل

اکنون، پس زمینه ای را که مرا تشویق به نوشتن این مثال می کند، به من اطلاع دهید.

من نویسنده برخی از دوره های Udemy هستم. یکی از دوره ها قالب بندی شرطی اکسل است. عنوان دوره این است: آموزش قالب بندی شرطی اکسل با 7 مشکل کاربردی. [ برای دسترسی رایگان به این دوره، اینجا را کلیک کنید ].

در تابلوی بحث دوره ، یک دانش آموز از من سوالی مانند زیر [تصویر تصویر] پرسید.

سوال توسط دانشجویی در Udemy پرسیده شده است.

سوال بالا را با دقت بخوانید و سعی کنید آن را حل کنید...

مراحل حل مشکل فوق:

در اینجا، مناز توابع OR ، OFFSET ، MAX ، MIN ، و ROW به عنوان فرمول اکسل برای ایجاد FOR Loop .

  • اول، کار شما این است که یک Workbook جدید باز کنید و مقادیر بالا را یکی یکی در کاربرگ وارد کنید [از سلول C5 شروع کنید] .
  • ثانیاً، کل محدوده [از سلول C5:C34 ] را انتخاب کنید.
  • سوم، از نوار صفحه اصلی >> بر روی دستور Conditional Formatting کلیک کنید.
  • در نهایت، گزینه New Rule را از منوی کشویی انتخاب کنید.

در این زمان، کادر محاوره ای قانون قالب بندی جدید ظاهر می شود.

  • اکنون، در پنجره انتخاب نوع قانون >> ; استفاده از فرمول برای تعیین اینکه کدام سلول ها را قالب بندی کنید گزینه را انتخاب کنید.
  • سپس، در قسمت Format مقادیر که این فرمول درست است ، این فرمول را تایپ کنید:
=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)

  • اکنون، با کلیک بر روی دکمه Format… در کادر گفتگو، نوع قالب مناسب را انتخاب کنید.

در این زمان، کادر محاوره ای با نام Format Cells ظاهر می شود.

  • اکنون، از پر کردن گزینه >> شما باید هر یک از رنگ ها را انتخاب کنید. در اینجا، پس زمینه آبی روشن را انتخاب کردم. همچنین، می‌توانید نمونه را فوراً مشاهده کنید. در این مورد، سعی کنید هر رنگ روشن را انتخاب کنید. زیرا رنگ تیره ممکن است داده های ورودی را پنهان کند. سپس، ممکن است لازم باشد رنگ قلم را تغییر دهید.
  • سپس، باید فشار دهید OK برای اعمال شکل‌بندی.

  • پس از آن، باید OK را در <فشار دهید. کادر محاوره ای 1>قانون قالب بندی جدید . در اینجا، می‌توانید نمونه را فوراً در کادر پیش‌نمایش مشاهده کنید.

در نهایت، اعداد قالب‌بندی شده را دریافت خواهید کرد.

اجازه دهید الگوریتم حل مشکل فوق را به شما نشان دهم:

  • در اینجا، برای درک آسان الگوریتم، من کل چیز را با دو سلول مرجع توضیح دهید: سلولهای C11 و C17 . در سلول های C11 و C17 ، مقادیر به ترتیب 10 و 20 هستند (تصویر بالا). اگر به فرمول‌های اکسل عادت دارید، می‌توانید تابع OFFSET را بو کنید، زیرا تابع OFFSET با نقاط مرجع کار می‌کند.
  • حالا، تصور کنید که من مقادیر را می‌گیرم. محدوده سلولی C8:C11 & C11:C14 و C14:C17 & 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) . این فرمول چه چیزی را برمی گرداند؟ اولین تابع offset فرمول آرایه را برمی گرداند: {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 آزمایش می شود، اکسل به صورت داخلی محاسبه می کند: {5=3; 3=3; 3=3; 5=3} = {نادرست; درست است، واقعی؛ درست است، واقعی؛ نادرست . وقتی تابع OR در این آرایه اعمال می شود: OR({False; True; False; True} ، TRUE را دریافت می کنید. بنابراین سلول C11 مقادیر واقعی را در صورت بازگشت دریافت می کند.
  • بنابراین، من فکر می کنم شما کل مفهوم نحوه کار این الگوریتم را دریافت کرده اید. اکنون یک مشکل وجود دارد. این فرمول می تواند ازسلول C8 ، بالای سلول C8 ، سلول 3 وجود دارد. اما برای سلول های C5، C6، و C7 این فرمول نمی تواند کار کند. بنابراین فرمول باید برای این سلول‌ها اصلاح شود.
  • اکنون، برای سلول‌های C5 تا C7 ، می‌خواهیم فرمول بالا<1 را در نظر نگیرد> 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 ، فرمول به صورت زیر خواهد بود: OR(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 افزایش یافته است.
  • اول، اولین <1 آرگومان ردیف های تابع>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)
  • اکنون، سعی کنید اصلاحات بالا را درک کنید. درک اینها آنقدرها هم سخت نیست. همه این چهار اصلاحات به عنوان FOR LOOP Excel VBA کار می کنند، اما من آنها را با فرمول های Excel ساخته ام. برای سلول های C5:C34 کار می کند.

بنابراین من در مورد Looping در صفحات گسترده اکسل صحبت می کردم. بنابراین، این یک مثال کامل از حلقه زدن در اکسل است. در اینجا، هر بار که فرمول 7 سلول می گیرد و روی سلول ها کار می کند تا یک مقدار خاص را پیدا کند.

2. استفاده از IF & یا توابع برای ایجاد حلقه FOR در اکسل

در این مثال، فرض کنید می خواهید بررسی کنید که سلول ها حاوی مقادیری هستند یا خیر. علاوه بر این، با Excel VBA FOR Loop، می توانید این کار را به راحتی انجام دهید، اما در اینجا، من این کار را با استفاده از فرمول Excel انجام خواهم داد.

اکنون، می توانید از آن استفاده کنید. IF و OR به عنوان فرمول اکسل برای ایجاد حلقه FOR عمل می کنند. علاوه بر این، شما می توانید این فرمول را با توجه به اولویت خود تغییر دهید. مراحل در زیر آورده شده است.

مراحل:

  • ابتدا، شما باید سلول دیگری را انتخاب کنید E5 که می خواهید ببینید وضعیت .
  • ثانیاً، باید از فرمول مربوطه در سلول E5 استفاده کنید.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • بعد از آن، ENTER را فشار دهید تا نتیجه را دریافت کنید.

تفکیک فرمول

در اینجا، اگر هر یک از منطق داده شده TRUE باشد، تابع OR TRUE برمی گردد. 2>.

  • اول، B5=”” منطق 1st است، که بررسی می کند آیا سلول B5 حاوی هر مقدار یا نه.
  • ثانیاً، C5=”” منطق 2 است، که بررسی می کند سلول C5 حاوی مقدار یا نه.
  • ثالثاً، D5=”” منطق 3 است. به طور مشابه، بررسی می‌کند که سلول D5 حاوی مقداری است یا خیر.

اکنون، تابع IF نتیجه‌ای را برمی‌گرداند که یک شرط معین را برآورده می‌کند. .

  • وقتی تابع OR TRUE را می دهد، " Info Missing " را به عنوان Status دریافت خواهید کرد. . در غیر این صورت، " انجام شد " را به عنوان وضعیت دریافت خواهید کرد.
  • بعد از آن، باید Fill Handle<را بکشید. 2> را به AutoFill داده های مربوطه در بقیه موارد نشان دهیدسلول های E6:E13 . یا می توانید روی نماد Fill Handle دوبار کلیک کنید.

در نهایت، همه نتایج را دریافت خواهید کرد. .

3. استفاده از تابع SUMIFS برای ایجاد حلقه FOR در اکسل

فرض کنید، می خواهید کل صورتحساب را برای یک شخص خاص بسازید. در این صورت، می‌توانید از حلقه FOR با استفاده از فرمول اکسل استفاده کنید. در اینجا، من از عملکرد SUMIFS برای ایجاد حلقه FOR در اکسل استفاده خواهم کرد. مراحل در زیر آورده شده است.

مراحل:

  • ابتدا، شما باید سلول دیگری را انتخاب کنید 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 اضافه می‌کند.
  • بعد از آن، باید نماد Fill Handle را برای تکمیل خودکار داده های مربوطه در بقیه سلول ها بکشید F8:F10 .

در نهایت نتیجه را خواهید گرفت.

نتیجه گیری

امیدواریم که شمااین مقاله را مفید یافت. در اینجا، 3 مثال های مناسب برای ایجاد حلقه FOR در اکسل با استفاده از فرمول ها را توضیح داده ایم. برای اطلاعات بیشتر در مورد محتوای اکسل می توانید از وب سایت ما Exceldemy دیدن کنید. لطفاً نظرات، پیشنهادات یا سؤالات خود را در بخش نظرات زیر ارسال کنید.

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.