Агуулгын хүснэгт
Та Excel VBA-г ашиглахыг хүсэхгүй байгаа бөгөөд Excel-д томъёо ашиглан FOR Loop хийхийг хүсэхгүй байна уу? Энэ нийтлэлд би та томьёо ашиглан хэрхэн FOR Loop хийж болохыг харуулсан.
Хэрэв та Excel VBA программ дээр хэрхэн кодлохыг мэддэг бол та ерөөлтэй байна 🙂 . Гэхдээ хэрэв та VBA -д хэзээ ч код бичиж байгаагүй эсвэл Excel-ийн ажлын номоо Excel VBA кодоос ангид байлгахыг хүсэж байгаа бол ихэнх тохиолдолд та ямар нэгэн код үүсгэхийн тулд хайрцгийг нь бодож үзэх хэрэгтэй болдог. энгийн гогцоо .
Ажлын файлыг татаж авах
Доорх линкээс ажлын файлыг татаж авна уу:
Томъёо ашиглан давталт хий. xlsxФормула ашиглан Excel дээр FOR давталт хийх 3 жишээ
Энд би Excel дээр FOR давталт хийх 3 жишээг үзүүлье. томъёо. Дэлгэрэнгүй жишээнүүдийг харцгаая.
1. Excel-д FOR давталт хийхийн тулд хосолсон функцуудыг ашиглах
Одоо намайг энэ жишээг бичихэд урам зориг өгч буй дэвсгэрийг хэлээрэй.
Би Udemy дээр зарим хичээлийн зохиогч. Хичээлүүдийн нэг нь Excel-ийн нөхцөлт форматын тухай юм. Хичээлийн гарчиг нь: Excel-ийн нөхцөлт форматыг 7 практик бодлогоор сур. [ Энэ курст үнэ төлбөргүй хандахын тулд энд дарна уу ].
Хичээл хэлэлцүүлгийн самбарт , нэг оюутан надаас доорх байдлаар асуулт асуусан [дэлгэцийн зураг].
Udemy-д нэг оюутны тавьсан асуулт.
Дээрх асуултыг анхааралтай уншаад, үүнийг шийдэж үзээрэй...
Дээрх асуудлыг шийдэх алхамууд:
Энд би OR , OFFSET , MAX , MIN , ROW функцуудыг Excel томьёо болгон ашиглан <үүсгэх болно. 1>FOR Loop .
- Нэгдүгээрт, таны даалгавар бол шинэ ажлын ном нээж, дээрх утгуудыг нэг нэгээр нь ажлын хуудсанд оруулах явдал юм [ C5 нүднээс эхлэх] .
- Хоёрдугаарт, бүх мужийг [ C5:C34 нүднээс] сонгоно.
- Гуравдугаарт, Нүүр туузаас >> Нөхцөлт форматлах команд дээр товшино уу.
- Эцэст нь доош унадаг цэснээс Шинэ дүрэм сонголтыг сонгоно уу.
Энэ үед Шинэ форматлах дүрэм харилцах цонх гарч ирнэ.
- Одоо Дүрмийн төрлийг сонгох цонхонд >> ; Аль нүдийг форматлахыг тодорхойлохын тулд томьёо ашиглана сонголтыг сонгоно уу.
- Дараа нь Энэ томьёо үнэн байх утгыг форматлах талбарт дараах томъёог бичнэ үү:
=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)
- Одоо харилцах цонхны Формат... товчийг дарж тохирох форматын төрлийг сонгоно уу.
Энэ үед Формат нүднүүдийг гэсэн харилцах цонх гарч ирнэ.
- Одоо, Бөглөх сонголт >> та ямар ч өнгө сонгох хэрэгтэй. Энд би Цайвар цэнхэр дэвсгэрийг сонгосон. Мөн та жишээ -г шууд харах боломжтой. Энэ тохиолдолд дурын цайвар өнгө сонгохыг хичээгээрэй. Учир нь бараан өнгө нь оруулсан өгөгдлийг нууж болно. Дараа нь та фонтын өнгийг өөрчлөх шаардлагатай болж магадгүй.
- Дараа нь та товчлуурыг дарах хэрэгтэй. OK формацыг хэрэглэхийн тулд.
- Үүний дараа OK дээр дарах хэрэгтэй. 1>Шинэ форматлах дүрэм харилцах цонх. Эндээс та дээжийг Урьдчилан харах хэсэгт шууд харах боломжтой.
Эцэст нь та форматлагдсан тоонуудыг авах болно.
Дээрх асуудлыг шийдэх алгоритмыг үзүүлье:
- Энд алгоритмыг хялбархан ойлгуулахын тулд би Бүх зүйлийг хоёр лавлах нүдээр тайлбарлана уу: эсүүд С11 ба С17 . C11 ба C17 нүднүүдийн утгууд нь тус тус 10 ба 20 байна (дээрх зураг). Хэрэв та Excel-ийн томъёонд дассан бол 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 -тэй тэнцүү бол лавлагааны нүд ҮНЭН утгатай болно.
- Энд би болно. 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({Худал; Үнэн; Худал; Үнэн , та ҮНЭН -г авна. Тэгэхээр C11 нүд. нь буцаасан байдлаар үнэн утгыг авдаг.
- Тиймээс та энэ алгоритм хэрхэн ажиллах тухай бүхэл бүтэн ойлголттой болсон гэж бодож байна. Одоо асуудал байна. Энэ томъёо нь дараахаас ажиллах боломжтой.нүд С8 , дээр нь С8 нүд, 3 нүд байна. Гэхдээ C5, C6, болон C7 нүднүүдэд энэ томъёо ажиллах боломжгүй. Иймд эдгээр нүднүүдийн хувьд томьёог өөрчлөх хэрэгтэй.
- Одоо C5 to 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 болж нэмэгдсэн.
- Нэгдүгээрт, эхний 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)
- Одоо дээрх өөрчлөлтийг ойлгохыг хичээгээрэй. Эдгээрийг ойлгоход тийм ч хэцүү биш юм. Эдгээр бүх дөрвөн өөрчлөлт нь Excel VBA-ийн FOR LOOP маягаар ажиллаж байгаа боловч би тэдгээрийг Excel-ийн томьёогоор бүтээсэн.
- Тиймээс та ерөнхий томьёог хэрхэн яаж гаргах талаар олж мэдсэн. нь C5:C34 -ийн нүднүүдэд ажилладаг.
Тиймээс би Excel хүснэгтийн давталт хийх тухай ярьж байсан. Тэгэхээр энэ бол Excel дээр давталт хийх төгс жишээ юм. Энд томъёо нь 7 нүдийг авч, тодорхой утгыг олохын тулд нүдэн дээр ажилладаг.
2. IF & OR Excel дээр FOR давталт үүсгэх функцууд
Энэ жишээнд та нүднүүдэд ямар нэгэн утга агуулагдаж байгаа эсэхийг шалгахыг хүсэж байна гэж бодъё. Цаашилбал, Excel VBA FOR Loop, -ийн тусламжтайгаар та үүнийг хялбархан хийж чадна, гэхдээ энд би үүнийг Excel томъёо ашиглан хийх болно.
Одоо та ашиглаж болно. IF , OR нь FOR Loop үүсгэхийн тулд Excel-ийн томьёоны үүрэг гүйцэтгэдэг. Цаашилбал, та энэ томъёог өөрийн хүссэнээр өөрчилж болно. Алхамуудыг доор өгөв.
Алхам:
- Эхлээд та харахыг хүссэн өөр нүд E5 сонгох хэрэгтэй. Төлөв .
- Хоёрдугаарт, та E5 нүдэнд харгалзах томьёог ашиглах хэрэгтэй.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Дараа нь ENTER дарж үр дүнг гаргана.
Томъёоны задаргаа
Энд өгөгдсөн логикийн аль нэг нь ҮНЭН болбол OR функц нь ҮНЭН буцаана .
- Нэгдүгээрт, B5=”” нь 1-р логик бөгөөд энэ нь B5 нүдэнд ямар нэгэн зүйл байгаа эсэхийг шалгах болно. утга эсвэл үгүй.
- Хоёрдугаарт, C5=”” нь 2-р логик бөгөөд C5 нүдэнд ямар нэгэн утга агуулагдаж байгаа эсэхийг шалгах болно. үгүй.
- Гуравдугаарт, D5=”” нь 3-р логик. Үүнтэй адилаар D5 нүдэнд ямар нэгэн утга агуулагдаж байгаа эсэхийг шалгах болно.
Одоо IF функц нь өгөгдсөн нөхцөлийг биелүүлэх үр дүнг буцаана. .
- ЭСВЭЛ функц нь ҮНЭН өгөх үед та " Мэдээлэл дутуу "-г Төлөв гэж авах болно. . Үгүй бол та Төлөв гэж “ Дууссан ”-г авах болно.
- Үүний дараа та Дүүргэх бариулыг<чирэх хэрэгтэй. 2> дүрсийг Автоматаар бөглөх -ын үлдсэн хэсэгт харгалзах өгөгдлийг хийнэнүднүүд E6:E13 . Эсвэл та Дүүргэх бариул дүрс дээр давхар товшиж болно.
Эцэст нь та бүх үр дүнг авах болно. .
3. Excel-д FOR давталт үүсгэхийн тулд SUMIFS функцийг ашиглах нь
Та тодорхой хүний нийт тооцоог хиймээр байна гэж бодъё. Энэ тохиолдолд та Excel-ийн томъёог ашиглан FOR Loop -г ашиглаж болно. Энд би SUMIFS функцийг ашиглан Excel-д FOR Loop үүсгэх болно. Алхамуудыг доор өгөв.
Алхам:
- Эхлээд та харахыг хүссэн өөр нүд 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 тохиромжтой жишээнүүдийг Excel-д томьёо ашиглан FOR Loop -д тайлбарлав. Та манай Exceldemy вэб сайтад зочилж, Excel-тэй холбоотой нэмэлт мэдээллийг авах боломжтой. Хэрэв танд санал хүсэлт, асуулт байвал доорх коммент хэсэгт үлдээнэ үү.