Mundarija
Excel VBA-dan foydalanmoqchi emasmisiz va Formula yordamida Excelda FOR Loop yaratmoqchimisiz? Ushbu maqolada men formulalar yordamida FOR Loop ni qanday qilish mumkinligini ko'rsatib berdim.
Agar Excel VBA bilan kodlashni bilsangiz, siz barakalisiz 🙂 . Ammo, agar siz hech qachon VBA -da kod yozmagan bo'lsangiz yoki Excel ish kitobida Excel VBA kodini saqlamoqchi bo'lsangiz, unda ko'pincha siz kod yaratish uchun qutidan tashqarida o'ylashingiz kerak bo'ladi. oddiy halqa .
Ishchi faylni yuklab oling
Quyidagi havoladan ishchi faylni yuklab oling:
Formulalar yordamida sikl hosil qiling. xlsxFormuladan foydalanib Excelda FOR siklini yaratishga 3 ta misol
Bu yerda men Excelda FOR siklini yaratish uchun 3 misollarni ko'rsataman. formula. Keling, batafsil misollarni ko'rib chiqaylik.
1. Excelda FOR siklini yaratish uchun birlashtirilgan funksiyalarni qo'llash
Endi, menga ushbu misolni yozishga undayotgan fonni aytib bering.
Men Udemy bo'yicha ba'zi kurslar muallifiman. Kurslardan biri Excelning shartli formatlash bo'yicha. Kurs nomi: Excelning shartli formatlashni 7 ta amaliy muammo bilan oʻrganing. [ Ushbu kursga bepul kirish uchun shu yerni bosing ].
Kurs muhokamasi panelida , bir talaba menga quyidagi kabi savol berdi [skrinshot tasviri].
Udemy'dagi talaba tomonidan berilgan savol.
Yuqoridagi savolni diqqat bilan o'qing va uni hal qilishga harakat qiling...
Yuqoridagi muammoni hal qilish bosqichlari:
Mana, men OR , OFFSET , MAX , MIN va ROW funksiyalaridan
- Birinchidan, sizning vazifangiz yangi ish kitobini ochish va yuqoridagi qiymatlarni birma-bir ish varag'iga kiritish [ C5 katakchadan boshlang]] .
- Ikkinchidan, butun diapazonni [ C5:C34 katakchadan] tanlang.
- Uchinchidan, Bosh sahifa lentasidan >> Shartli formatlash buyrug'ini bosing.
- Nihoyat, ochiladigan menyudan Yangi qoida opsiyasini tanlang.
Hozirda Yangi Formatlash qoidasi dialog oynasi paydo bo'ladi.
- Endi Qoida turini tanlang oynasida >> ; Qaysi katakchalarni formatlashni aniqlash uchun formuladan foydalaning opsiyasini tanlang.
- Keyin, Ushbu formula rost bo'lgan qiymatlarni formatlash maydoniga quyidagi formulani kiriting:
=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)
- Endi dialog oynasidagi Format... tugmasini bosish orqali tegishli format turini tanlang.
Bu vaqtda Format Hujayra nomli dialog oynasi paydo bo'ladi.
- Endi, To'ldirish variant >> har qanday rangni tanlashingiz kerak. Bu erda men Ochiq ko'k fonni tanladim. Shuningdek, siz namuna ni bir zumda ko'rishingiz mumkin. Bu holda istalgan ochiq rangni tanlashga harakat qiling. Chunki quyuq rang kiritilgan ma'lumotlarni yashirishi mumkin. Keyin Shrift rangini o'zgartirishingiz kerak bo'lishi mumkin.
- Keyin, tugmasini bosishingiz kerak. OK shaklni qo'llash uchun.
- Bundan so'ng OK tugmasini bosishingiz kerak. 1>Yangi formatlash qoidasi muloqot oynasi. Bu yerda siz namunani Oldindan ko'rish oynasida bir zumda ko'rishingiz mumkin.
Nihoyat, siz formatlangan raqamlarni olasiz.
Yuqoridagi muammoni hal qilish algoritmini ko'rsataman:
- Mana, algoritmni oson tushunishingiz uchun men ikkita mos yozuvlar kataklari bilan hamma narsani tushuntiring: hujayralar C11 va C17 . C11 va C17 katakchalarda qiymatlar mos ravishda 10 va 20 (yuqoridagi rasm). Agar siz Excel formulalariga o'rganib qolgan bo'lsangiz, OFFSET funksiyasining hidini sezishingiz mumkin, chunki OFFSET funksiyasi mos yozuvlar nuqtalari bilan ishlaydi.
- Endi tasavvur qiling-a, men qiymatlarni olmoqdaman. hujayra diapazonlarining C8:C11 & C11:C14 va C14:C17 & C17: C20 yonma-yon [quyidagi rasm]. Yo'naltiruvchi katakchalar C11 va C17 va men mos yozuvlar uyasi atrofida jami 7 hujayrani olaman. Quyidagi kabi xayoliy rasmga ega bo'lasiz. Birinchi qismdan siz rasmdan naqsh topishingiz mumkin. C9–C12=3 , C10-C13=3 , naqsh mavjud. Ammo ikkinchi qism uchun bunday naqsh yo'q.
- Demak, yuqoridagi naqshni yodda tutgan holda algoritm tuzamiz. Umumiy formulani yaratishdan oldin, men formulalar qanday bo'lishini ko'rsatamankatakchalar C11 va C17 va keyin formulani hamma uchun umumiy qilish uchun o'zgartiradi. Yo'naltiruvchi nuqta uchun (masalan, C11 yoki C17 ) uning atrofidagi jami 7 katakchani (shu jumladan mos yozuvlar nuqtasini) olib, ularni yonma-yon joylashtiraman. massivlarni yaratuvchi formulaning tomoni. Keyin massivlarning farqini bilib olaman, agar farqlardan birortasi 3 ga teng bo'lsa, mos yozuvlar katakchasi TRUE qiymatga ega bo'ladi.
- Bu erda men buni qila olaman. buni OFFSET funksiyasidan foydalanib oson bajaring, chunki OFFSET funksiyasi massivni qaytaradi. C11 katakcha havolasi uchun ayting, formulani quyidagicha yozishim mumkin: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Bu formula nimani qaytaradi? Formulaning birinchi ofset funksiyasi massivni qaytaradi: {10; 11; 12; 15} , ikkinchi ofset funksiyasi {5 massivni qaytaradi; 8; 9; 10} . Va siz bilasiz {10; 11; 12; 15} – {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} . Bu massiv mantiqiy testdan =3 bilan tekshirilganda Excel ichki hisob-kitoblarni quyidagicha amalga oshiradi: {5=3; 3=3; 3=3; 5=3} = {False; To'g'ri; To'g'ri; Noto'g'ri . Ushbu massivda YOKI funksiyasi qo‘llanilganda: YOKI({False; True; False; True} , siz TRUE ni olasiz. Shunday qilib, C11 katakchasi qaytarilganidek haqiqiy qiymatlarni oladi.
- Demak, siz ushbu algoritm qanday ishlashi haqida toʻliq tushunchaga ega boʻldingiz deb oʻylayman. Endi muammo bor. Bu formula quyidagicha ishlashi mumkin.katak C8 , katakcha ustidagi C8 , 3 katakchalar mavjud. Ammo C5, C6, va C7 hujayralar uchun bu formula ishlamaydi. Shunday qilib, formulani ushbu katakchalar uchun o'zgartirish kerak.
- Endi, C5 to C7 katakchalari uchun formula yuqori<1 ni hisobga olmasligini istaymiz> 3 katakchalar. Masalan, C6 katak uchun bizning formulamiz C11 katak formulasiga o‘xshamaydi: =OR(OFFSET(C11, 0, 0, 4, 1)- OFFSET(C11, -3, 0, 4, 1)=3) .
- Bu erda C5 katak uchun formula quyidagicha bo'ladi: OR(OFFSET) (C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
- Keyin, C6 katak uchun formula shunday bo'ladi: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
- Keyin bu C7 katak uchun formula quyidagicha bo'ladi: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)= 3) .
- Yana C8 katak uchun formula quyidagicha bo'ladi: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET( C8,-3, 0, 4, 1)=3) ; [bu umumiy formula].
- Keyin, C9 katak uchun formula quyidagicha bo'ladi: OR(OFFSET(C9, 0, 0, 4, 1)- OFFSET(C9,-3, 0, 4, 1)=3) ; [bu umumiy formula].
- Nihoyat, yuqoridagi formulalardan ba'zi naqshlarni topdingizmi? Birinchi OFFSET funksiyaning qatorlar argumenti 3 dan 0 ga kamaydi; balandlik argumenti 1 dan 4 ga oshdi. Ikkinchi OFFSET funksiyasining qatorlar argumenti dan kamaydi 0 -3 va balandlik argumenti 1 dan 4 ga oshdi.
- Birinchidan, birinchi OFFSET funktsiyasining qatorlar argumenti quyidagicha o'zgartiriladi: MAX(ROW(C$5)-ROW(C5)+3,0)
- Ikkinchidan, ikkinchi OFFSET funktsiyasining qatorlar argumenti quyidagicha o'zgartiriladi: MAX(ROW(C$5)-ROW(C5),-3)
- Uchinchidan, Birinchi OFFSET funktsiyaning balandlik argumenti quyidagicha o'zgartiriladi: MIN(ROW(C5)-ROW(C$5)+1,4)
- To'rtinchidan, ikkinchi OFFSET funktsiyaning balandligi argumenti quyidagicha o'zgartiriladi: MIN(ROW(C5)-ROW(C$5)+1,4)
- Endi yuqoridagi modifikatsiyani tushunishga harakat qiling. Bularni tushunish unchalik qiyin emas. Ushbu to'rtta modifikatsiyaning barchasi Excel VBA-ning FOR LOOP sifatida ishlaydi, lekin men ularni Excel formulalari yordamida yaratdim.
- Demak, siz umumiy formulani qanday yaratish usullarini oldingiz. C5:C34 kataklari uchun ishlaydi.
Shunday qilib, men Excel elektron jadvallarida aylanish haqida gapirgan edim. Shunday qilib, bu Excelda loopning mukammal namunasidir. Bu erda formula har safar 7 katakchalarni oladi va ma'lum bir qiymatni topish uchun hujayralar ustida ishlaydi.
2. IF & YOKI Excelda FOR siklini yaratish funksiyalari
Ushbu misolda siz yacheykalarda qiymat bor yoki yo'qligini tekshirmoqchi bo'lsangiz, deylik. Bundan tashqari, Excel VBA FOR Loop, bilan buni osonlik bilan amalga oshirishingiz mumkin, lekin bu yerda men buni Excel formulasi yordamida bajaraman.
Endi, siz foydalanishingiz mumkin. IF va OR FOR Loop yaratish uchun Excel formulasi sifatida ishlaydi. Bundan tashqari, ushbu formulani o'zingizning xohishingizga ko'ra o'zgartirishingiz mumkin. Qadamlar quyida keltirilgan.
Qadamlar:
- Birinchidan, siz ko'rmoqchi bo'lgan boshqa katakchani E5 tanlashingiz kerak. Holat .
- Ikkinchidan, E5 katakchadagi mos formuladan foydalaning.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Keyin natijani olish uchun ENTER tugmasini bosing.
Formulalar taqsimoti
Bu yerda, OR funksiyasi berilgan mantiqlardan birortasi TRUE
- Birinchidan, B5=”” 1-chi mantiq boʻlib, u B5 katakchada biron-bir maʼlumot bor yoki yoʻqligini tekshiradi. qiymat yoki yo'q.
- Ikkinchidan, C5=”” bu 2-chi mantiq bo'lib, u C5 katakchada biron-bir qiymat yoki yoki yo'qligini tekshiradi. emas.
- Uchinchidan, D5=”” bu 3-chi mantiq. Xuddi shunday, u D5 katakchada biror qiymat bor yoki yo'qligini tekshiradi.
Endi IF funktsiyasi berilgan shartni bajaradigan natijani qaytaradi. .
- OR funksiyasi TRUE ni berganda, siz Holat sifatida “ Maʼlumot etishmayotgan ”ni olasiz. . Aks holda, siz Holat sifatida “ Bajarildi ”ni olasiz.
- Bundan keyin Toʻldirish dastagini
belgichasi, qolgan qismidagi tegishli maʼlumotlarni Avtomatik toʻldirish uchunkatakchalar E6:E13 . Yoki Toʻldirish dastagi belgisini ikki marta bosishingiz mumkin.
Nihoyat, barcha natijalarga erishasiz. .
3. Excelda FOR siklini yaratish uchun SUMIFS funksiyasidan foydalanish
Aytaylik, siz ma'lum bir shaxs uchun umumiy hisob-kitob qilmoqchisiz. Bunday holda, Excel formulasidan foydalanib, FOR Loop dan foydalanishingiz mumkin. Bu erda men Excelda FOR Loop yaratish uchun SUMIFS funksiyasidan foydalanaman. Qadamlar quyida keltirilgan.
Qadamlar:
- Birinchidan, siz ko'rmoqchi bo'lgan boshqa katakchani F7 tanlashingiz kerak. Holat .
- Ikkinchidan, F7 katakchadagi mos formuladan foydalaning.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- Keyin natijani olish uchun ENTER tugmasini bosing.
Formula taqsimoti
- Bu yerda $C$5:$C$13 - SUMIFS boʻlgan maʼlumotlar oraligʻi funktsiya yig'indini bajaradi.
- Keyin, $B$5:$B$13 - SUMIFS funktsiyasi berilgan mezonlarni tekshiradigan ma'lumotlar diapazoni
- Nihoyat, E7 - bu mezon.
- Shunday qilib, SUMIFS funktsiyasi E7 katak qiymati uchun to'lovlarni qo'shadi.
- Bundan so'ng F8:F10 qolgan kataklardagi tegishli ma'lumotlarni avtomatik to'ldirish uchun To'ldirish dastagi belgisini sudrab o'tishingiz kerak.
Nihoyat, siz natijaga erishasiz.
Xulosa
Umid qilamizki, sizushbu maqolani foydali deb topdi. Bu yerda biz 3 formulalar yordamida Excelda FOR Loop yaratish uchun mos misollarni tushuntirdik. Excel bilan bog'liq ko'proq ma'lumot olish uchun bizning veb-saytimizga tashrif buyurishingiz mumkin Exceldemy . Iltimos, sharhlar, takliflar yoki savollaringiz bo'lsa, quyidagi izoh bo'limiga qoldiring.