Բովանդակություն
Չե՞ք ուզում օգտագործել Excel VBA և ցանկանում եք կատարել FOR Loop Excel-ում` օգտագործելով Formula-ը: Այս հոդվածում ես ցույց տվեցի, թե ինչպես կարող եք կատարել FOR Loop օգտագործելով բանաձևեր:
Եթե գիտեք, թե ինչպես կոդավորել Excel-ով VBA , դուք օրհնված եք 🙂 . Բայց, եթե դուք երբեք կոդ չեք գրել VBA -ով կամ ցանկանում եք ձեր Excel-ի աշխատանքային գիրքը զերծ պահել Excel VBA կոդից, ապա շատ ժամանակ դուք պետք է մտածեք առանց ներքևի` ստեղծելու համար simple loop .
Ներբեռնեք աշխատանքային ֆայլը
Ներբեռնեք աշխատանքային ֆայլը ստորև բերված հղումից.
Ստեղծեք Loop` օգտագործելով բանաձևերը: xlsx3 օրինակներ Excel-ում FOR Loop-ի ստեղծման համար՝ օգտագործելով բանաձևը
Այստեղ ես կցուցադրեմ 3 օրինակներ Excel-ում FOR Loop ստեղծելու համար՝ օգտագործելով բանաձեւը. Եկեք տեսնենք մանրամասն օրինակները:
1. Համակցված գործառույթների կիրառում Excel-ում FOR Loop-ի համար
Այժմ թույլ տվեք իմանալ նախապատմությունը, որը խրախուսում է ինձ գրել այս օրինակը:
Ես Udemy-ի վերաբերյալ որոշ դասընթացների հեղինակ եմ: Դասընթացներից մեկը Excel-ի պայմանական ֆորմատավորումն է: Դասընթացի անվանումն է. Սովորեք Excel-ի պայմանական ձևաչափումը 7 գործնական խնդիրներով: [ Այս դասընթացին անվճար մուտք ստանալու համար սեղմեք այստեղ ]:
Դասընթացի քննարկման տախտակում , մի ուսանող ինձ հարց տվեց, ինչպես ստորև [սքրինշոթի պատկերը]:
Ուդեմի ուսանողի կողմից տրված հարցը:
Ուշադիր կարդացեք վերը նշված հարցը և փորձեք լուծել այն…
Քայլեր վերը նշված խնդիրը լուծելու համար.
Ահա, եսորպես Excel բանաձև կօգտագործի OR , OFFSET , MAX , MIN և ROW ֆունկցիաները՝ որպես Excel բանաձև՝ ստեղծելու 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 վրա Ձևաչափման նոր կանոն երկխոսության տուփ: Այստեղ դուք կարող եք անմիջապես տեսնել նմուշը Նախադիտում վանդակում:
Վերջապես, դուք կստանաք ձևաչափված թվերը:
Թույլ տվեք ձեզ ցույց տալ վերը նշված խնդիրը լուծելու ալգորիթմը.
- Ահա, որպեսզի ձեզ հասկանաք ալգորիթմը, ես բացատրեք ամբողջը երկու հղումային բջիջներով՝ բջիջներ C11 և C17 : 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 -ի, ապա հղման բջիջը կլինի 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 բջիջի համար բանաձևը կլինի այսպիսին՝ 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 աղյուսակներում Looping-ի մասին: Այսպիսով, սա Excel-ում պտտվելու կատարյալ օրինակ է: Այստեղ, ամեն անգամ, երբ բանաձևը վերցնում է 7 բջիջներ և աշխատում է բջիջների վրա՝ որոշակի արժեք պարզելու համար:
2. IF-ի օգտագործումը & ԿԱՄ գործառույթներ Excel-ում FOR Loop ստեղծելու համար
Այս օրինակում, ենթադրենք, ցանկանում եք ստուգել՝ բջիջները պարունակում են արժեքներ, թե ոչ: Ավելին, Excel VBA FOR Loop-ի միջոցով դուք կարող եք դա անել հեշտությամբ, բայց այստեղ ես դա կանեմ Excel բանաձևի միջոցով:
Այժմ կարող եք օգտագործել IF և OR -ը գործում են որպես Excel բանաձև FOR Loop ստեղծելու համար: Ավելին, դուք կարող եք փոփոխել այս բանաձևը ըստ ձեր նախասիրության: Քայլերը տրված են ստորև:
Քայլեր.
- Սկզբում դուք պետք է ընտրեք մեկ այլ բջիջ E5 , որտեղ ցանկանում եք տեսնել Կարգավիճակը ։
- Երկրորդը, դուք պետք է օգտագործեք համապատասխան բանաձեւը E5 բջիջում։
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Այնուհետև սեղմեք ENTER արդյունքը ստանալու համար:
Բանաձևի բաշխում
Այստեղ OR ֆունկցիան կվերադարձնի ՃԻՇՏ , եթե տրված տրամաբանությունից որևէ մեկը դառնա TRUE .
- Նախ, B5=”” 1-ին տրամաբանությունն է, որը ստուգելու է, թե արդյոք B5 բջիջը պարունակում է որևէ արժեքը, թե ոչ:
- Երկրորդը, C5=”” -ը 2-րդ տրամաբանությունն է, որը ստուգելու է արդյոք C5 բջիջը պարունակում է որևէ արժեք կամ ոչ:
- Երրորդ, D5=”” 3-րդ տրամաբանությունն է: Նմանապես, որը կստուգի, արդյոք D5 բջիջը պարունակում է որևէ արժեք, թե ոչ:
Այժմ IF ֆունկցիան վերադարձնում է արդյունքը, որը կկատարի տվյալ պայմանը: .
- Երբ OR ֆունկցիան տալիս է ՃԻՇՏ , ապա դուք կստանաք “ Info Missing ” որպես Կարգավիճակ . Հակառակ դեպքում, դուք կստանաք « Կատարված » որպես Կարգավիճակ :
- Դրանից հետո դուք պետք է քաշեք Լրացնել բռնակը պատկերակը Autofill համապատասխան տվյալները մնացած մասումբջիջները E6:E13 : Կամ կարող եք կրկնակի սեղմել Լրացնել բռնակի պատկերակի վրա:
Վերջապես, դուք կստանաք բոլոր արդյունքները .
3. Օգտագործելով SUMIFS ֆունկցիան Excel-ում FOR Loop ստեղծելու համար
Ենթադրենք, դուք ցանկանում եք կատարել ընդհանուր հաշիվը որոշակի անձի համար: Այդ դեպքում դուք կարող եք օգտագործել FOR Loop օգտագործելով Excel բանաձևը: Այստեղ ես կօգտագործեմ 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 հարմար օրինակներ՝ FOR Loop Excel-ում բանաձևերի միջոցով ստեղծելու համար: Excel-ի հետ կապված ավելի շատ բովանդակություն իմանալու համար կարող եք այցելել մեր կայք Exceldemy : Խնդրում ենք, ներքևում գտնվող մեկնաբանությունների բաժնում թողնել մեկնաբանություններ, առաջարկություններ կամ հարցումներ, եթե ունեք: