Sisällysluettelo
Etkö halua käyttää Excel VBA:ta ja haluat tehdä FOR-silmukka Excelissä kaavan avulla? Tässä artikkelissa olen näyttänyt, miten voit tehdä kaavan avulla FOR-silmukka kaavojen avulla.
Jos osaat koodata Excelillä VBA , olet siunattu 🙂 Mutta jos et ole koskaan kirjoittanut koodia vuonna VBA tai haluat pitää Excel-työkirjasi vapaana Excelistä. VBA koodia, niin suurimman osan ajasta sinun on ajateltava laatikon ulkopuolella luoda yksinkertainen silmukka .
Lataa työtiedosto
Lataa toimiva tiedosto alla olevasta linkistä:
Tee silmukka käyttämällä Formulas.xlsxx3 esimerkkiä FOR-silmukan tekemisestä Excelissä kaavan avulla
Tässä esittelen 3 esimerkkejä tehdä FOR-silmukka Excelissä kaavan avulla. Katsotaanpa yksityiskohtaisia esimerkkejä.
1. Yhdistettyjen funktioiden soveltaminen FOR-silmukan tekemiseen Excelissä
Kerro nyt taustat, jotka kannustavat minua kirjoittamaan tämän esimerkin.
Olen kirjoittanut joitakin kursseja Udemyssä. Yksi kursseista käsittelee Excelin ehdollista muotoilua. Kurssin nimi on: Opi Excelin ehdollinen muotoilu 7 käytännön ongelman avulla. [ saadaksesi ilmaisen pääsyn tälle kurssille, klikkaa tästä. ].
Kurssin keskustelupalstalla eräs opiskelija esitti minulle alla olevan kysymyksen [kuvakaappaus].
Opiskelijan kysymys Udemyssä.
Lue yllä oleva kysymys huolellisesti ja yritä ratkaista se...
Vaiheet edellä mainitun ongelman ratkaisemiseksi:
Tässä käytän TAI , OFFSET , MAX , MIN ja ROW toimintoja Excel-kaavana luodaksesi FOR-silmukka .
- Avaa ensin uusi työkirja ja syötä edellä mainitut arvot yksi kerrallaan taulukkoon [aloita solusta C5 ].
- Toiseksi, valitse koko alue [solusta C5:C34 ].
- Kolmanneksi Etusivu nauha>> napsauta kohtaa Ehdollinen muotoilu komento.
- Valitse lopuksi Uusi sääntö vaihtoehto pudotusvalikosta.
Tällä hetkellä, Uusi muotoilusääntö valintaikkuna tulee näkyviin.
- Nyt Valitse sääntötyyppi ikkuna>> valitse Määritä muotoiltavat solut kaavan avulla vaihtoehto.
- Sitten, vuonna Muotoile arvot, joissa tämä kaava on tosi kenttään tämä kaava:
=OR(OFFSET(C5,MAX(RIVI(C$5)-RIVI(C5)+3,0),0,MIN(RIVI(C5)-RIVI(C$5)+1,4),1)-OFFSET(C5,MAX(RIVI($C$5)-RIVI(C5),-3),0,MIN(RIVI(C5)-RIVI(C$5)+1,4),1)=3)
- Valitse nyt sopiva formaattityyppi napsauttamalla painiketta Formaatti... painiketta valintaikkunassa.
Tällöin avautuu valintaikkuna nimeltä Solujen muotoilu ilmestyy.
- Nyt, alkaen Täytä Vaihtoehto>> sinun on valittava mikä tahansa väri. Tässä valitsin värin>>. Vaaleansininen Taustalla näkyy myös näyte heti. Tässä tapauksessa yritä valita mikä tahansa valo Koska tumma väri saattaa peittää syötetyt tiedot. Silloin saatat joutua muuttamaan Fontin väri .
- Sitten sinun on painettava OK soveltaa muodostelmaa.
- Sen jälkeen sinun on painettava OK on Uusi muotoilusääntö Tässä näet näytteen heti, kun Esikatselu laatikko.
Lopuksi saat muotoillut numerot.
Näytän sinulle algoritmin, jolla edellä mainittu ongelma ratkaistaan:
- Jotta algoritmi olisi helppo ymmärtää, selitän koko asian kahden vertailusolun avulla: solut C11 ja C17 . Soluissa C11 ja C17 , arvot ovat 10 ja 20 Jos olet tottunut Excelin kaavoihin, voit haistaa, että OFFSET toiminto, kuten OFFSET toiminto toimii vertailupisteiden kanssa.
- Kuvitellaan nyt, että otan solualueiden arvot seuraavasti. C8:C11 & C11:C14 ja C14:C17 & C17: C20 vierekkäin [kuva alla]. Viitesolut ovat C11 ja C17 ja otan yhteensä 7 soluja viitesolun ympärille. Saat seuraavan kaltaisen kuvitteellisen kuvan. Ensimmäisestä osasta voit löytää kuvasta kuvion. C9-C12=3 , C10-C13=3 Toisen osan osalta tällaista kaavaa ei kuitenkaan ole.
- Rakennetaan siis algoritmi pitäen yllä oleva kaava mielessä. Ennen yhteisen kaavan rakentamista näytän, mitä kaavoja soluihin tulee. C11 ja C17 ja muuttaa sitten kaavaa siten, että se on yhteinen kaikille. Vertailupisteen (kuten esim. C11 tai C17 ), otan yhteensä 7 soluja sen ympärillä (mukaan lukien vertailupiste) ja asetan ne vierekkäin kaavaan luoden taulukoita. Sitten selvitän taulukoiden erotuksen, jos jokin erotuksista on yhtä suuri kuin 3 että viitesolu on TRUE arvostettu.
- Tässä voin tehdä sen helposti käyttämällä OFFSET toiminto kuin OFFSET funktio palauttaa joukon. Sano soluviittaus C11 , voin kirjoittaa kaavan näin: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) Mitä tämä kaava palauttaa? Kaavan ensimmäinen offset-funktio palauttaa array: {10; 11; 12; 15} , toinen offset-funktio palauttaa array {5; 8; 9; 10} . Ja tiedät {10; 11; 12; 15} - {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} Kun tämä joukko testataan loogisesti =3 Excel laskee sisäisesti näin: {5=3; 3=3; 3=3; 5=3} = {Väärin; Totta; Totta; Totta; Väärin} . Kun TAI funktiota sovelletaan tähän joukkoon: OR({Väärin; Totta; Väärin; Totta} , saat TRUE . Joten solu C11 saa true-arvoja palautettuna.
- Luulen, että olet ymmärtänyt, miten tämä algoritmi toimii. Nyt on ongelma. Tämä kaava voi toimia solusta C8 , solun yläpuolella C8 , on olemassa 3 soluja. Mutta solujen C5, C6, ja C7 kaava ei voi toimia, joten kaavaa on muutettava näiden solujen osalta.
- Nyt solujen osalta C5 osoitteeseen C7 , haluamme, että kaavassa ei oteta huomioon ylempiä 3 Esimerkiksi solun C6 , kaavamme ei ole samanlainen kuin solun C11 : =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) .
- Tässä solun C5 , kaava on seuraavanlainen: OR(OFFSET(C5, 3, 0, 1, 1, 1)-OFFSET(C5, 0, 0, 1, 1, 1)=3) .
- Sitten solun C6 , kaava on seuraavanlainen: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
- Sen jälkeen solun C7 , kaava on seuraavanlainen: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)=3) .
- Jälleen kerran, solun C8 , kaava on seuraavanlainen: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET(C8,-3, 0, 4, 1)=3) ; [tämä on yleinen kaava].
- Sitten solun C9 , kaava on seuraavanlainen: OR(OFFSET(C9, 0, 0, 4, 1)-OFFSET(C9,-3, 0, 4, 1)=3) ; [tämä on yleinen kaava].
- Löydätkö lopuksi joitakin kuvioita edellä esitetyistä kaavoista? Ensimmäisen OFFSET funktion rivit-argumentti on pienentynyt arvosta 3 osoitteeseen 0 ; korkeusargumentti on kasvanut 1 osoitteeseen 4 . Toinen OFFSET funktion rivit-argumentti on pienentynyt arvosta 0 osoitteeseen -3 ja korkeusargumentti on kasvanut 1 osoitteeseen 4 .
- Ensinnäkin ensimmäinen OFFSET funktion rivit-argumenttia muutetaan seuraavasti: MAX(RIVI(C$5)-RIVI(C5)+3,0)
- Toiseksi, toinen OFFSET funktion rivit-argumenttia muutetaan seuraavasti: MAX(RIVI(C$5)-RIVI(C5),-3)
- Kolmanneksi, ensimmäinen OFFSET funktion korkeusargumenttia muutetaan seuraavasti: MIN(RIVI(C5)-RIVI(C$5)+1,4)
- Neljänneksi, toinen OFFSET funktion korkeusargumenttia muutetaan seuraavasti: MIN(RIVI(C5)-RIVI(C$5)+1,4)
- Yrittäkää nyt ymmärtää yllä oleva muutos. Nämä eivät ole kovin vaikeita ymmärtää. Kaikki nämä neljä muutokset toimivat seuraavasti FOR LOOP Excel VBA:sta, mutta olen rakentanut ne Excel-kaavojen avulla.
- Sinulla on siis tapoja, joilla yleinen kaava toimii solujen osalta osoitteesta C5:C34 .
Puhuin siis silmukoinnista Excel-taulukoissa. Tämä on täydellinen esimerkki silmukoinnista Excelissä. Tässä, joka kerta kun kaava kestää 7 soluja ja työskentelee solujen kanssa saadakseen selville tietyn arvon.
2. IF & OR-funktioiden käyttö FOR-silmukan luomiseen Excelissä
Tässä esimerkissä oletetaan, että haluat tarkistaa, sisältävätkö solut arvoja vai eivät. Lisäksi Excel VBA:n avulla voidaan FOR Loop, voit tehdä tämän helposti, mutta tässä teen sen Excel-kaavalla.
Nyt voit käyttää ... IF ja TAI toimintoja Excel-kaavana luoda FOR-silmukka Lisäksi voit muokata tätä kaavaa mieltymystesi mukaan. Vaiheet on esitetty alla.
Vaiheet:
- Ensin on valittava eri solu. E5 jossa haluat nähdä Tila .
- Toiseksi, sinun pitäisi käyttää vastaavaa kaavaa kohdassa E5 solu.
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- Paina sen jälkeen ENTER saadaksesi tuloksen.
Kaavan erittely
Täällä TAI funktio palauttaa TRUE jos jokin annetuista logiikoista muuttuu TRUE .
- Ensinnäkin, B5="" on 1. logiikka, joka tarkistaa, onko solu B5 sisältää arvoa tai ei.
- Toiseksi, C5="" on 2. logiikka, joka tarkistaa, onko solu C5 sisältää arvoa tai ei.
- Kolmanneksi, D5="" on Kolmas logiikka. Vastaavasti, joka tarkistaa, onko solu D5 sisältää arvoa tai ei.
Nyt IF palauttaa tuloksen, joka täyttää annetun ehdon.
- Kun TAI funktio antaa TRUE niin saat " Tiedot puuttuvat " as Tila . Muuten saat " Valmis " kuten Tila .
- Tämän jälkeen sinun on vedettävä Täyttökahva kuvaketta AutoFill vastaavat tiedot muissa soluissa E6:E13 . Tai voit kaksoisnapsauttaa Täyttökahva kuvake.
Lopuksi saat kaikki tulokset.
3. SUMIFS-funktion käyttäminen FOR-silmukan luomiseen Excelissä
Oletetaan, että haluat tehdä kokonaislaskun tietylle henkilölle. Siinä tapauksessa voit käyttää komentoa FOR-silmukka Excel-kaavalla. Tässä käytän seuraavaa kaavaa SUMIFS-funktio luoda FOR-silmukka Excelissä. Vaiheet on esitetty alla.
Vaiheet:
- Ensin on valittava eri solu. F7 jossa haluat nähdä Tila .
- Toiseksi, sinun pitäisi käyttää vastaavaa kaavaa kohdassa F7 solu.
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- Paina sen jälkeen ENTER saadaksesi tuloksen.
Kaavan erittely
- Tässä, $C$5:$C$13 on tietoväli, josta SUMIFS funktio tekee yhteenlaskun.
- Sitten, $B$5:$B$13 on tietoväli, josta alkaen SUMIFS toiminto tarkistaa annetut kriteerit
- Lopuksi, E7 on kriteeri.
- Niinpä SUMIFS toiminto lisää maksut E7 solun arvo.
- Tämän jälkeen sinun on vedettävä Täyttökahva kuvakkeen avulla voit täyttää vastaavat tiedot automaattisesti muissa soluissa. F8:F10 .
Lopuksi saat tuloksen.
Päätelmä
Toivomme, että tämä artikkeli oli sinulle hyödyllinen. Tässä olemme selittäneet seuraavat asiat 3 sopivia esimerkkejä FOR-silmukka Excelissä kaavojen avulla. Voit vierailla verkkosivuillamme osoitteessa Exceldemy Jos sinulla on kommentteja, ehdotuksia tai kyselyitä, kirjoita ne alla olevaan kommenttiosioon.