Com fer un bucle FOR a Excel utilitzant la fórmula (3 exemples)

  • Comparteix Això
Hugh West

No voleu utilitzar Excel VBA i voleu fer un FOR Loop a Excel amb Formula? En aquest article, he mostrat com pots fer FOR Loop utilitzant fórmules.

Si saps com codificar amb l'Excel VBA , estàs beneït 🙂 . Però, si mai no heu escrit codi a VBA o voleu mantenir el vostre llibre de treball d'Excel lliure de codi VBA d'Excel, la majoria de vegades haureu de pensar fora de la caixa per crear un simple bucle .

Baixeu el fitxer de treball

Descarregueu el fitxer de treball des de l'enllaç següent:

Feu un bucle amb fórmules. xlsx

3 exemples per fer un bucle FOR a Excel utilitzant la fórmula

Aquí, mostraré 3 exemples per fer bucle FOR a Excel amb un fórmula. Vegem els exemples detallats.

1. Aplicació de funcions combinades per fer un bucle FOR a Excel

Ara, feu-me saber els antecedents que m'animan a escriure aquest exemple.

Sóc l'autor d'alguns cursos sobre Udemy. Un dels cursos és sobre Format condicional d'Excel. El títol del curs és: Aprèn el format condicional d'Excel amb 7 problemes pràctics. [ per obtenir accés gratuït a aquest curs, fes clic aquí ].

Al tauler de discussió del curs , un estudiant em va fer una pregunta com a continuació [imatge de captura de pantalla].

Pregunta feta per un estudiant a Udemy.

Llegiu atentament la pregunta anterior i intenteu resoldre-la...

Passos per resoldre el problema anterior:

Aquí, joutilitzarà les funcions OR , OFFSET , MAX , MIN i ROW com a fórmula d'Excel per crear un FOR Loop .

  • En primer lloc, el vostre treball consisteix a obrir un nou llibre de treball i introduir els valors anteriors un per un al full de treball [comenceu des de la cel·la C5 ] .
  • En segon lloc, seleccioneu tot l'interval [de la cel·la C5:C34 ].
  • En tercer lloc, des de la cinta Inici >> feu clic a l'ordre Format condicionat .
  • Finalment, seleccioneu l'opció Nova regla del menú desplegable.

En aquest moment, apareix el quadre de diàleg Nova regla de format .

  • Ara, a la finestra Selecciona un tipus de regla >> ; seleccioneu l'opció Utilitza una fórmula per determinar quines cel·les s'ha de formatar .
  • A continuació, al camp Formatar valors on aquesta fórmula és certa , escriviu aquesta fórmula:
=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)

  • Ara, seleccioneu el tipus de format adequat fent clic al botó Format... del quadre de diàleg.

En aquest moment, apareixerà un quadre de diàleg anomenat Format cel·les .

  • Ara, des del Emplenar opció >> has de triar qualsevol dels colors. Aquí, he seleccionat el fons Blau clar . A més, podeu veure la mostra a l'instant. En aquest cas, proveu de triar qualsevol color clar . Perquè el color fosc pot amagar les dades introduïdes. Aleshores, potser haureu de canviar el Color del tipus de lletra .
  • A continuació, haureu de prémer D'acord per aplicar la formació.

  • Després d'això, haureu de prémer D'acord a Quadre de diàleg Nova regla de format . Aquí podeu veure la mostra a l'instant al quadre Vista prèvia .

Per últim, obtindreu els números amb format.

Permeteu-me que us mostri l'algorisme per resoldre el problema anterior:

  • Aquí, per fer-vos entendre l'algorisme fàcilment, expliqueu-ho tot amb dues cel·les de referència: cel·les C11 i C17 . A les cel·les C11 i C17 , els valors són 10 i 20 respectivament (imatge de dalt). Si esteu acostumats a les fórmules d'Excel, podeu sentir l'olor de la funció OFFSET , ja que la funció OFFSET funciona amb punts de referència.
  • Ara, imagineu-vos que estic prenent els valors. dels intervals de cel·les C8:C11 & C11:C14 i C14:C17 & C17: C20 costat a costat [imatge a continuació]. Les cel·les de referència són C11 i C17 i estic agafant un total de 7 cel·les al voltant de la cel·la de referència. Obtindreu una imatge imaginària com la següent. Des de la primera part, podeu trobar un patró de la imatge. C9–C12=3 , C10-C13=3 , hi ha un patró. Però per a la segona part, no hi ha aquest patró.

  • Per tant, construïm l'algorisme tenint en compte el patró anterior. Abans de construir la fórmula comuna, mostraré quines seran les fórmules per alcel·les C11 i C17 i després modificarà la fórmula per fer-la comuna per a tots. Per a un punt de referència (com C11 o C17 ), agafaré un total de 7 cel·les al seu voltant (inclòs el punt de referència) i les col·locaré juntes. costat de la fórmula creant matrius. Aleshores esbrinaré la diferència de les matrius si alguna de les diferències és igual a 3 que la cel·la de referència tindrà un valor TRUE .
  • Aquí puc feu-ho fàcilment utilitzant la funció OFFSET ja que la funció OFFSET retorna una matriu. Per exemple, per a la referència de cel·la C11 , puc escriure la fórmula així: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Què retornarà aquesta fórmula? La primera funció de compensació de la fórmula retornarà la matriu: {10; 11; 12; 15} , la segona funció de compensació retornarà la matriu {5; 8; 9; 10} . I ja saps {10; 11; 12; 15} – {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} . Quan aquesta matriu es prova lògicament amb =3 aleshores Excel calcula internament així: {5=3; 3=3; 3=3; 5=3} = {Fals; cert; cert; Fals . Quan s'aplica la funció OR a aquesta matriu: OR({Fals; Vertader; Fals; Vertader , obteniu VERTADER . Així, la cel·la C11 obté els valors reals tal com es retorna.
  • Per tant, crec que teniu tot el concepte de com funcionarà aquest algorisme. Ara hi ha un problema. Aquesta fórmula pot funcionar des decel·la C8 , a sobre de cel·la C8 , hi ha 3 cel·les. Però per a les cel·les C5, C6, i C7 aquesta fórmula no pot funcionar. Per tant, la fórmula s'hauria de modificar per a aquestes cel·les.
  • Ara, per a les cel·les C5 a C7 , volem que la fórmula no tingui en compte la part superior 3 cel·les. Per exemple, per a la cel·la C6 , la nostra fórmula no serà com la fórmula per a la cel·la C11 : =OR(OFFSET(C11, 0, 0, 4, 1)- OFFSET(C11, -3, 0, 4, 1)=3) .
  • Aquí, per a la cel·la C5 , la fórmula serà com: OR(OFFSET (C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • A continuació, per a la cel·la C6 , el La fórmula serà com: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Després que, per a la cel·la C7 , la fórmula serà com: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)= 3) .
  • De nou, per a la cel·la C8 , la fórmula serà com: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET( C8,-3, 0, 4, 1)=3) ; [aquesta és la fórmula general].
  • Llavors, per a la cel·la C9 , la fórmula serà com: OR(OFFSET(C9, 0, 0, 4, 1)- OFFSET(C9,-3, 0, 4, 1)=3) ; [aquesta és la fórmula general].
  • Finalment, trobes alguns patrons de les fórmules anteriors? L'argument de files de la primera funció OFFSET ha disminuït de 3 a 0 ; l'argument d'alçada ha augmentat de 1 a 4 . L'argument de files de la segona funció OFFSET ha disminuït 0 a -3 i l'argument d'alçada ha augmentat de 1 a 4 .
  • En primer lloc, el primer <1 L'argument de files de la funció>OFFSET es modificarà així: MAX(ROW(C$5)-ROW(C5)+3,0)
  • En segon lloc, el segon L'argument de les files de la funció OFFSET es modificarà així: MAX(ROW(C$5)-ROW(C5),-3)
  • En tercer lloc, el primer OFFSET es modificarà així: MIN(ROW(C5)-ROW(C$5)+1,4)
  • En quart lloc, el segon OFFSET L'argument d'alçada de la funció es modificarà així: MIN(ROW(C5)-ROW(C$5)+1,4)
  • Ara, intenteu entendre la modificació anterior. Aquests no són tan difícils d'entendre. Totes aquestes quatre modificacions funcionen com a FOR LOOP d'Excel VBA, però les he creat amb fórmules d'Excel.
  • Així, tens les maneres com la fórmula general funciona per a les cel·les de C5:C34 .

Així que estava parlant de bucles en fulls de càlcul Excel. Per tant, aquest és un exemple perfecte de bucle a Excel. Aquí, cada vegada que la fórmula pren 7 cel·les i treballa sobre les cel·les per trobar un valor específic.

2. Ús de IF & O Funcions per crear un bucle FOR a Excel

En aquest exemple, suposem que voleu comprovar si les cel·les contenen valors o no. A més, amb Excel VBA FOR Loop ho podeu fer fàcilment, però aquí ho faré amb una fórmula d'Excel.

Ara podeu utilitzar el IF i el OR funcionen com a fórmula d'Excel per crear bucle FOR . A més, podeu modificar aquesta fórmula segons les vostres preferències. Els passos es donen a continuació.

Passos:

  • Primer, heu de seleccionar una cel·la diferent E5 on voleu veure l' Estat .
  • En segon lloc, hauríeu d'utilitzar la fórmula corresponent a la cel·la E5 .
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • A continuació, premeu INTRO per obtenir el resultat.

Desglossament de la fórmula

Aquí, la funció O retornarà TRUE si alguna de la lògica donada esdevé TRUE .

  • En primer lloc, B5="” és la lògica 1st , que comprovarà si la cel·la B5 conté algun valor o no.
  • En segon lloc, C5="” és la lògica 2n , que comprovarà si la cel·la C5 conté algun valor o no.
  • En tercer lloc, D5="” és la 3a lògica. De la mateixa manera, que comprovarà si la cel·la D5 conté algun valor o no.

Ara, la funció SI retorna el resultat que complirà una condició determinada. .

  • Quan la funció OR dóna TRUE , obtindreu " Info falta " com a Estat . En cas contrari, obtindreu " Fet " com a Estat .
  • Després, haureu d'arrossegar el Mànec d'emplenament per a Emplenar automàticament les dades corresponents a la restales cel·les E6:E13 . O podeu fer doble clic a la icona Emplenar mànec .

Finalment, obtindreu tots els resultats. .

3. Utilitzar la funció SUMIFS per crear un bucle FOR a Excel

Suposem que voleu fer la factura total per a una determinada persona. En aquest cas, podeu utilitzar el bucle FOR amb la fórmula d'Excel. Aquí, utilitzaré la funció SUMIFS per crear el bucle FOR a Excel. Els passos es donen a continuació.

Passos:

  • Primer, heu de seleccionar una cel·la diferent F7 on voleu veure l' Estat .
  • En segon lloc, hauríeu d'utilitzar la fórmula corresponent a la cel·la F7 .
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • A continuació, premeu INTRO per obtenir el resultat.

Desglossament de la fórmula

  • Aquí, $C$5:$C$13 és l'interval de dades a partir del qual SUMIFS La funció farà la suma.
  • A continuació, $B$5:$B$13 és l'interval de dades des d'on la funció SUMIFS comprovarà els criteris donats
  • Per últim, E7 és el criteri.
  • Per tant, la funció SUMIFS afegirà els pagaments pel valor de la cel·la E7 .
  • Després d'això, haureu d'arrossegar la icona Emplenar mànec per Emplenament automàtic de les dades corresponents a la resta de cel·les F8:F10 .

Finalment, obtindreu el resultat.

Conclusió

Esperem queha trobat útil aquest article. Aquí hem explicat 3 exemples adequats per fer FOR Loop a Excel mitjançant fórmules. Podeu visitar el nostre lloc web Exceldemy per obtenir més informació sobre contingut relacionat amb Excel. Si us plau, deixeu comentaris, suggeriments o consultes si en teniu a la secció de comentaris de sota.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.