Como facer un bucle FOR en Excel usando a fórmula (3 exemplos)

  • Comparte Isto
Hugh West

Non queres usar Excel VBA e queres facer un FOR Loop en Excel usando Formula? Neste artigo, mostrei como podes crear FOR Loop usando fórmulas.

Se sabes codificar con Excel VBA , estás bendito 🙂 . Pero, se nunca escribiches código en VBA ou queres manter o teu caderno de Excel libre de código VBA de Excel, a maioría das veces tes que pensar fóra da caixa para crear un simple loop .

Descargar o ficheiro de traballo

Descarga o ficheiro de traballo desde a seguinte ligazón:

Fai un bucle usando fórmulas. xlsx

3 exemplos para facer un bucle FOR en Excel usando a fórmula

Aquí demostrarei 3 exemplos para facer bucle FOR en Excel usando un fórmula. Vexamos os exemplos detallados.

1. Aplicación de funcións combinadas para facer bucle FOR en Excel

Agora, indíqueme os antecedentes que me animan a escribir este exemplo.

Son o autor dalgúns cursos sobre Udemy. Un dos cursos é sobre Formato condicional de Excel. O título do curso é: Aprende o formato condicional de Excel con 7 problemas prácticos. [ para ter acceso gratuíto a este curso, fai clic aquí ].

No taboleiro de discusión do curso , un estudante fíxome unha pregunta como a continuación [imaxe de captura de pantalla].

Pregunta feita por un estudante en Udemy.

Lea atentamente a pregunta anterior e tenta resolvela...

Pasos para resolver o problema anterior:

Aquí,usará as funcións OR , OFFSET , MAX , MIN e ROW como fórmula de Excel para crear un FOR Loop .

  • En primeiro lugar, o seu traballo consiste en abrir un novo libro de traballo e introducir os valores anteriores un por un na folla de traballo [comezar desde a cela C5 ] .
  • En segundo lugar, selecciona todo o intervalo [da cela C5:C34 ].
  • En terceiro lugar, desde a cinta Inicio >> prema no comando Formato condicional .
  • Finalmente, seleccione a opción Nova regra no menú despregable.

Neste momento, aparece o cadro de diálogo Nova regra de formato .

  • Agora, na xanela Seleccione un tipo de regra >> ; seleccione a opción Usar unha fórmula para determinar que celas formatar .
  • A continuación, no campo Formato de valores onde esta fórmula é verdadeira , escriba esta 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)

  • Agora, seleccione o tipo de formato adecuado facendo clic no botón Formato... da caixa de diálogo.

Neste momento, aparecerá un cadro de diálogo chamado Formatar celas .

  • Agora, dende o Encher opción >> tes que escoller calquera das cores. Aquí seleccionei o fondo Azul claro . Ademais, podes ver a mostra ao instante. Neste caso, tenta escoller calquera cor clara . Porque a cor escura pode ocultar os datos introducidos. Entón, quizais necesites cambiar a Cor da fonte .
  • A continuación, debes premer Aceptar para aplicar a formación.

  • Despois diso, ten que premer Aceptar na barra Aceptar . 1>Cadro de diálogo Nova regra de formato . Aquí podes ver a mostra ao instante na caixa Vista previa .

Por último, obterás os números formateados.

Permíteme mostrarche o algoritmo para resolver o problema anterior:

  • Aquí, para que entendas o algoritmo facilmente, vou explica todo con dúas celas de referencia: celas C11 e C17 . Nas celas C11 e C17 , os valores son 10 e 20 respectivamente (imaxe superior). Se estás afeito ás fórmulas de Excel, podes cheirar a función OFFSET , xa que a función OFFSET funciona con puntos de referencia.
  • Agora, imaxina que estou tomando os valores. dos intervalos de celas C8:C11 & C11:C14 e C14:C17 & C17: C20 lado a lado [imaxe abaixo]. As celas de referencia son C11 e C17 e estou tomando un total de 7 celas arredor da cela de referencia. Obterás unha imaxe imaxinaria como a seguinte. Desde a primeira parte, podes atopar un patrón da imaxe. C9–C12=3 , C10-C13=3 , hai un patrón. Pero para a segunda parte, non hai tal patrón.

  • Entón, imos construír o algoritmo tendo en conta o patrón anterior. Antes de construír a fórmula común, mostrarei cales serán as fórmulas para ocelas C11 e C17 e logo modificará a fórmula para que sexa común para todos. Para un punto de referencia (como C11 ou C17 ), tomarei un total de 7 celas ao seu redor (incluíndo o punto de referencia) e colocarei as unha xunto a elas. lado na fórmula creando matrices. Despois descubrirei a diferenza das matrices se algunha das diferenzas é igual a 3 que a cela de referencia será valorada como VERDADEIRO .
  • Aquí podo faino facilmente usando a función OFFSET xa que a función OFFSET devolve unha matriz. Digamos que para a referencia da cela C11 , podo escribir a fórmula así: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) . Que devolverá esta fórmula? A primeira función de compensación da fórmula devolverá unha matriz: {10; 11; 12; 15} , a segunda función de compensación devolverá a matriz {5; 8; 9; 10} . E xa sabes {10; 11; 12; 15} – {5; 8; 9; 10} = {10-5; 11-8; 12-9; 15-10} = {5; 3; 3; 5} . Cando esta matriz se proba loxicamente con =3 entón Excel calcula internamente así: {5=3; 3=3; 3=3; 5=3} = {Falso; Verdade; Verdade; Falso . Cando a función OU se aplica a esta matriz: OR({Falso; Verdadeiro; Falso; Verdadeiro , obtense VERDADEIRO . Así, a cela C11 obtén valores verdadeiros tal e como se devolve.
  • Entón, creo que tes todo o concepto de como vai funcionar este algoritmo. Agora hai un problema. Esta fórmula pode funcionar desdecela C8 , encima da cela C8 , hai 3 celas. Pero para as celas C5, C6, e C7 esta fórmula non pode funcionar. Polo tanto, a fórmula debería modificarse para estas celas.
  • Agora, para as celas C5 a C7 , queremos que a fórmula non teña en conta o superior 3 celas. Por exemplo, para a cela C6 , a nosa fórmula non será como a fórmula da cela C11 : =OR(OFFSET(C11, 0, 0, 4, 1)- OFFSET(C11, -3, 0, 4, 1)=3) .
  • Aquí, para a cela C5 , a fórmula será como: OU (OFFSET (C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) .
  • Entón, para a cela C6 , a fórmula será como: OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) .
  • Despois que, para a cela C7 , a fórmula será como: OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)= 3) .
  • De novo, para a cela C8 , a fórmula será como: OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET( C8,-3, 0, 4, 1)=3) ; [esta é a fórmula xeral].
  • Entón, para a cela C9 , a fórmula será como: OR(OFFSET(C9, 0, 0, 4, 1)- OFFSET(C9,-3, 0, 4, 1)=3) ; [esta é a fórmula xeral].
  • Por último, atopas algúns patróns das fórmulas anteriores? O argumento de filas da primeira función OFFSET diminuíu de 3 a 0 ; o argumento de altura aumentou de 1 a 4 . O argumento de filas da segunda función OFFSET diminuíu de 0 a -3 e o argumento de altura aumentou de 1 a 4 .
  • En primeiro lugar, o primeiro <1 O argumento de filas da función>OFFSET modificarase así: MAX(ROW(C$5)-ROW(C5)+3,0)
  • En segundo lugar, o segundo O argumento de filas da función OFFSET modificarase así: MAX(ROW(C$5)-ROW(C5),-3)
  • En terceiro lugar, o primeiro OFFSET modificarase así: MIN(ROW(C5)-ROW(C$5)+1,4)
  • En cuarto lugar, o segundo OFFSET O argumento de altura da función modificarase así: MIN(ROW(C5)-ROW(C$5)+1,4)
  • Agora, tenta comprender a modificación anterior. Estes non son tan difíciles de entender. Todas estas catro modificacións están funcionando como FOR LOOP de Excel VBA, pero creeinas con fórmulas de Excel.
  • Así que entendes a fórmula xeral. funciona para as celas de C5:C34 .

Entón, estaba falando de bucle en follas de cálculo de Excel. Polo tanto, este é un exemplo perfecto de bucle en Excel. Aquí, cada vez que a fórmula toma 7 celas e traballa nas celas para descubrir un valor específico.

2. Uso de IF & OU Funcións para crear un bucle FOR en Excel

Neste exemplo, supoña que quere comprobar se as celas conteñen algún valor ou non. Ademais, con Excel VBA FOR Loop podes facelo facilmente, pero aquí fareino usando unha fórmula de Excel.

Agora podes usar o IF e o OR funcionan como fórmula de Excel para crear FOR Loop . Ademais, pode modificar esta fórmula segundo a súa preferencia. Os pasos móstranse a continuación.

Pasos:

  • En primeiro lugar, debes seleccionar unha cela diferente E5 onde queres ver o Estado .
  • En segundo lugar, debes usar a fórmula correspondente na cela E5 .
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")

  • A continuación, preme ENTER para obter o resultado.

Desglose da fórmula

Aquí, a función OU devolverá VERDADEIRO se algunha das lóxicas indicadas pasa a ser VERDADEIRO .

  • En primeiro lugar, B5="” é a lóxica 1st , que comprobará se a cela B5 contén algún valor ou non.
  • En segundo lugar, C5="” é a lóxica, que comprobará se a cela C5 contén algún valor ou non.
  • En terceiro lugar, D5="" é a lóxica. Do mesmo xeito, o que comprobará se a cela D5 contén algún valor ou non.

Agora, a función IF devolve o resultado que cumprirá unha condición determinada. .

  • Cando a función OU VERDADEIRO , aparecerá " Info falta " como Estado . En caso contrario, obterás " Feito " como Estado .
  • Despois diso, tes que arrastrar o Recheo de control para Encher automaticamente os datos correspondentes no restoas celas E6:E13 . Ou pode facer dobre clic na icona Encher o controlador .

Finalmente, obterá todos os resultados .

3. Empregando a función SUMIFS para crear un bucle FOR en Excel

Supoña que quere facer a factura total para unha determinada persoa. Nese caso, podes usar o FOR Loop mediante a fórmula de Excel. Aquí, usarei a función SUMIFS para crear o bucle FOR en Excel. Os pasos móstranse a continuación.

Pasos:

  • En primeiro lugar, debes seleccionar unha cela diferente F7 onde queres ver o Estado .
  • En segundo lugar, debes usar a fórmula correspondente na cela F7 .
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)

  • A continuación, preme ENTER para obter o resultado.

Desglose de fórmulas

  • Aquí, $C$5:$C$13 é o intervalo de datos a partir do cal SUMIFS A función fará a suma.
  • Entón, $B$5:$B$13 é o intervalo de datos desde onde a función SUMIFS comprobará os criterios indicados
  • Por último, E7 é o criterio.
  • Entón, a función SUMIFS engadirá os pagos polo valor da cela E7 .
  • Despois diso, tes que arrastrar a icona Recheo de control para Encher automaticamente os datos correspondentes no resto das celas F8:F10 .

Finalmente, obterás o resultado.

Conclusión

Esperamos queatopou este artigo útil. Aquí, explicamos 3 exemplos axeitados para facer FOR Loop en Excel mediante fórmulas. Podes visitar o noso sitio web Exceldemy para obter máis contido relacionado con Excel. Deixa comentarios, suxestións ou consultas se tes algunha na sección de comentarios a continuación.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.