Kaip sukurti FOR kilpą "Excel" programoje naudojant formulę (3 pavyzdžiai)

  • Pasidalinti
Hugh West

Ar nenorite naudoti "Excel VBA" ir norite sukurti FOR kilpa "Excel" naudojant formulę? Šiame straipsnyje parodžiau, kaip galite FOR kilpa naudojant formules.

Jei žinote, kaip programuoti su "Excel VBA , esate palaimintas 🙂. Bet jei niekada nerašėte kodo VBA arba norite, kad jūsų "Excel" darbaknygėje nebūtų "Excel VBA kodą, tada dažniausiai tenka galvoti nestandartiškai, kad sukurtumėte paprastą kilpa .

Atsisiųsti darbinį failą

Atsisiųskite darbinį failą iš toliau pateiktos nuorodos:

Padaryti kilpą naudojant formulę.xlsx

3 pavyzdžiai, kaip sukurti FOR kilpą "Excel" programoje naudojant formulę

Čia parodysiu. 3 pavyzdžių, kaip padaryti FOR kilpa "Excel" programoje naudodami formulę. Pažiūrėkime išsamius pavyzdžius.

1. Kombinuotųjų funkcijų taikymas FOR kilpai "Excel" programoje sudaryti

Dabar leiskite man sužinoti, kas paskatino mane parašyti šį pavyzdį.

Esu kelių "Udemy" kursų autorius. Vienas iš kursų yra apie "Excel" sąlyginį formatavimą: Išmokite "Excel" sąlyginio formatavimo su 7 praktinėmis užduotimis. [ norėdami gauti nemokamą prieigą prie šio kurso, spustelėkite čia ].

Kurso diskusijų lentoje vienas studentas man uždavė klausimą, kaip nurodyta toliau [ekrano kopija].

Klausimas, kurį uždavė "Udemy" studentas.

Atidžiai perskaitykite pateiktą klausimą ir pabandykite jį išspręsti...

Pirmiau nurodytos problemos sprendimo būdai:

Čia naudosiu ARBA , OFFSET , MAX , MIN , ir EILUTĖ funkcijas kaip "Excel" formulę, kad sukurtumėte FOR kilpa .

  • Pirmiausia turite atidaryti naują darbaknygę ir į darbalapį vieną po kitos įvesti pirmiau nurodytas vertes [pradėkite nuo ląstelės C5 ].
  • Antra, pasirinkite visą diapazoną [iš ląstelės C5:C34 ].
  • Trečia, iš Pagrindinis kaspinas>> spustelėkite Sąlyginis formatavimas komanda.
  • Galiausiai pasirinkite Nauja taisyklė parinktį iš išskleidžiamojo sąrašo.

Šiuo metu, Nauja formatavimo taisyklė rodomas dialogo langas.

  • Dabar, kai Pasirinkite taisyklės tipą langas>> pasirinkite Naudokite formulę, kad nustatytumėte, kurias ląsteles formatuoti galimybė.
  • Tada Formuoti reikšmes, kai ši formulė yra teisinga laukelyje įveskite šią formulę:
=OR(OFFSET(C5,MAX(EILUTĖ(C$5)-EILUTĖ(C5)+3,0),0,MIN(EILUTĖ(C5)-EILUTĖ(C$5)+1,4),1)-OFFSET(C5,MAX(EILUTĖ(C$5)-EILUTĖ(C5),-3),0,MIN(EILUTĖ(C5)-EILUTĖ(C$5)+1,4),1)=3)

  • Dabar pasirinkite atitinkamą formato tipą spustelėdami Formatas... dialogo lange esantis mygtukas.

Šiuo metu rodomas dialogo langas, pavadintas Formuoti ląsteles pasirodys.

  • Dabar iš Užpildykite parinktį>> turite pasirinkti bet kurią iš spalvų. Čia aš pasirinkau Šviesiai mėlyna fone. Taip pat galite matyti pavyzdys iš karto. Tokiu atveju pabandykite pasirinkti bet kurį šviesa nes tamsi spalva gali paslėpti įvestus duomenis. Tada gali tekti pakeisti Šrifto spalva .
  • Tada turite paspausti GERAI taikyti formavimą.

  • Po to turite paspausti GERAI apie Nauja formatavimo taisyklė dialogo langą. Čia galite iš karto pamatyti pavyzdį Peržiūra dėžutė.

Galiausiai gausite suformatuotus skaičius.

Parodysiu jums algoritmą, kaip išspręsti minėtą problemą:

  • Kad lengviau suprastumėte algoritmą, paaiškinsiu visą dalyką naudodamas dvi etalonines ląsteles: ląsteles C11 ir C17 . Ląstelėse C11 ir C17 , vertės yra 10 ir 20 Jei esate įpratę prie "Excel" formulių, galite užuosti OFFSET funkcija, kaip OFFSET funkcija veikia su atskaitos taškais.
  • Dabar įsivaizduokite, kad imu ląstelių intervalų reikšmes C8:C11 & C11:C14 , ir C14:C17 & C17: C20 greta [paveikslėlis žemiau]. Referencinės ląstelės yra C11 ir C17 ir iš viso imu 7 ląstelės aplink atskaitos ląstelę. Gausite tokį įsivaizduojamą paveikslėlį kaip toliau. Iš pirmosios dalies galite rasti paveikslėlio modelį. C9-C12=3 , C10-C13=3 Tačiau antrosios dalies atveju tokio dėsningumo nėra.

  • Taigi, sukurkime algoritmą atsižvelgdami į pirmiau pateiktą modelį. Prieš kurdami bendrąją formulę, parodysiu, kokios bus langelių formulės C11 ir C17 ir pakeis formulę, kad ji būtų bendra visiems. Referenciniam taškui (pvz. C11 arba C17 ), iš viso paimsiu 7 langelius aplink jį (įskaitant atskaitos tašką) ir sudėkite juos vieną šalia kito formulėje, sudarydami masyvus. Tada aš sužinosiu masyvų skirtumą, jei kuris nors iš skirtumų yra lygus 3 kad atskaitos ląstelė bus TRUE vertinama.
  • Čia tai galiu lengvai padaryti naudodamas OFFSET funkciją kaip OFFSET funkcija grąžina masyvą. Sakykime, kad ląstelės nuoroda C11 , formulę galiu užrašyti taip: =OR(OFFSET(C11, 0, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Ką grąžins ši formulė? Pirmoji formulės įskaitymo funkcija grąžins masyvą: {10; 11; 12; 15} , antroji kompensavimo funkcija grąžins masyvą {5; 8; 9; 10} . Ir žinote. {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Kai šis masyvas logiškai tikrinamas su =3 tada "Excel" viduje skaičiuoja taip: {5=3; 3=3; 3=3; 3=3; 5=3} = {False; True; True; True; False} . Kai ARBA funkcija taikoma šiam masyvui: ARBA({False; True; True; False; True} , gausite TRUE . Taigi, ląstelė C11 gaunamos grąžinamos tikros reikšmės.
  • Taigi, manau, kad jau supratote, kaip šis algoritmas veiks. Dabar yra problema. Ši formulė gali veikti iš ląstelės C8 , virš langelio C8 , yra 3 ląstelių. Tačiau ląstelėms C5, C6, ir C7 ši formulė negali veikti. Todėl šiose ląstelėse formulė turėtų būti pakeista.
  • Dabar ląstelėms C5 į C7 , norime, kad formulėje nebūtų atsižvelgiama į viršutinę 3 ląstelės. Pavyzdžiui, ląstelės C6 , mūsų formulė nebus panaši į ląstelės formulę C11 : =OR(OFFSET(C11, 0, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
  • Šiuo atveju ląstelės C5 , formulė bus tokia: ARBA(OFFSET(C5, 3, 0, 1, 1, 1)-OFFSET(C5, 0, 0, 0, 1, 1, 1)=3) .
  • Tada ląstelės C6 , formulė bus tokia: ARBA(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Po to, kai ląstelės C7 , formulė bus tokia: ARBA(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
  • Vėlgi, ląstelių C8 , formulė bus tokia: ARBA(OFFSET(C8, 0, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [tai bendroji formulė].
  • Tada ląstelės C9 , formulė bus tokia: ARBA(OFFSET(C9, 0, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [tai bendroji formulė].
  • Galiausiai, ar pastebite tam tikrų dėsningumų iš pirmiau pateiktų formulių? Pirmasis OFFSET funkcijos eilutės argumentas sumažėjo nuo 3 į 0 ; aukščio argumentas padidėjo nuo 1 į 4 . Antrasis OFFSET funkcijos eilutės argumentas sumažėjo nuo 0 į -3 ir aukščio argumentas padidėjo nuo 1 į 4 .
  • Pirma, pirmasis OFFSET funkcijos argumentas rows bus pakeistas taip: MAX(EILUTĖ(C$5)-EILUTĖ(C5)+3,0)
  • Antra, antrasis OFFSET funkcijos argumentas rows bus pakeistas taip: MAX(EILUTĖ(C$5)-EILUTĖ(C5),-3)
  • Trečia, pirmoji OFFSET funkcijos aukščio argumentas bus pakeistas taip: MIN(EILUTĖ(C5)-EILUTĖ(C$5)+1,4)
  • Ketvirta, antrasis OFFSET funkcijos aukščio argumentas bus pakeistas taip: MIN(EILUTĖ(C5)-EILUTĖ(C$5)+1,4)
  • Dabar pabandykite suprasti minėtą pakeitimą. Tai nėra taip sunku suprasti. keturios pakeitimai veikia kaip FOR LOOP "Excel VBA", bet juos sukūriau naudodamas "Excel" formules.
  • Taigi, sužinojote, kaip bendroji formulė veikia ląstelėse iš C5:C34 .

Kalbėjau apie ciklų sudarymą "Excel" skaičiuoklėse. Tai puikus ciklų sudarymo "Excel" programoje pavyzdys. Čia kiekvieną kartą, kai formulė 7 langelius ir dirba su jais, kad sužinotų konkrečią reikšmę.

2. Funkcijų IF & amp; OR naudojimas FOR kilpai sukurti "Excel" programoje

Tarkime, šiame pavyzdyje norite patikrinti, ar ląstelėse yra kokių nors reikšmių, ar ne. Be to, naudodami "Excel" VBA FOR Loop, galite tai padaryti lengvai, bet čia tai padarysiu naudodamas "Excel" formulę.

Dabar galite naudoti . IF , ir ARBA funkcijas kaip "Excel" formulę, kad sukurtumėte FOR kilpa . Be to, šią formulę galite keisti pagal savo pageidavimus. Toliau pateikiami veiksmai.

Žingsniai:

  • Pirmiausia turite pasirinkti kitą ląstelę E5 kur norite matyti Statusas .
  • Antra, turėtumėte naudoti atitinkamą formulę E5 ląstelės.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • Vėliau paspauskite ĮVESKITE gauti rezultatą.

Formulės suskirstymas

Čia ARBA funkcija grąžins TRUE jei bet kuri iš pateiktų loginių funkcijų tampa TRUE .

  • Pirma, B5="" yra 1. logika, kuri patikrins, ar ląstelė B5 yra kokia nors reikšmė arba ne.
  • Antra, C5="" yra 2. logika, kuri patikrins, ar ląstelė C5 yra kokia nors reikšmė arba ne.
  • Trečia, D5="" yra 3. logika. Panašiai, kuri patikrins, ar ląstelė D5 yra kokia nors reikšmė arba ne.

Dabar IF funkcija grąžina rezultatą, kuris atitinka tam tikrą sąlygą.

  • Kai ARBA funkcija duoda TRUE tada gausite " Trūksta informacijos " kaip Statusas Priešingu atveju gausite " Atlikta " kaip Statusas .
  • Po to turite vilkti Užpildymo rankena piktogramą į Automatinis pildymas atitinkami duomenys likusiuose langeliuose. E6:E13 . Arba galite dukart spustelėti Užpildymo rankena ikona.

Galiausiai gausite visus rezultatus.

3. SUMIFS funkcijos naudojimas FOR kilpai sukurti "Excel" programoje

Tarkime, norite sudaryti bendrą tam tikro asmens sąskaitą. Tokiu atveju galite naudoti FOR kilpa naudojant "Excel" formulę. Čia naudosiu funkcija SUMIFS sukurti FOR kilpa "Excel" programoje. Toliau pateikiami veiksmai.

Žingsniai:

  • Pirmiausia turite pasirinkti kitą ląstelę F7 kur norite matyti Statusas .
  • Antra, turėtumėte naudoti atitinkamą formulę F7 ląstelės.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • Vėliau paspauskite ĮVESKITE gauti rezultatą.

Formulės suskirstymas

  • Čia, $C$5:$C$13 yra duomenų intervalas, iš kurio SUMIFS funkcija atliks sumavimą.
  • Tada, $B$5:$B$13 yra duomenų intervalas, nuo kurio SUMIFS funkcija patikrins nurodytus kriterijus
  • Galiausiai, E7 yra kriterijus.
  • Taigi, SUMIFS funkcija pridės mokėjimus už E7 langelio vertė.
  • Po to turite vilkti Užpildymo rankena piktogramą, kad likusiose ląstelėse būtų automatiškai užpildyti atitinkami duomenys. F8:F10 .

Galiausiai gausite rezultatą.

Išvada

Tikimės, kad šis straipsnis jums buvo naudingas. 3 tinkamų pavyzdžių, kad FOR kilpa "Excel" programoje, naudodami formules. Galite apsilankyti mūsų svetainėje Exceldemy norėdami sužinoti daugiau su "Excel" susijusio turinio. Jei turite komentarų, pasiūlymų ar užklausų, rašykite juos toliau esančiame komentarų skyriuje.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.