Incrementación

AP976 Mensajes publicados 11 Estado Miembro -  
AP976 Mensajes publicados 11 Estado Miembro -
Hola,

Quisiera pasar de una celda a otra descendiendo en la misma columna “deslizándolas” entre celdas. Esto añadiendo +2 a la fila de origen entre cada celda.

En otras palabras, me gustaría una fórmula que me permita pasar de:

=CONCATENER(NB.SI(JAN!$G$9:$BR$9;"BVS0600W01");"/";SI(JAN!$O9="";"";1)+SI(JAN!$AC9="";"";1)+SI(JAN!$AQ9="";"";1)+SI(JAN!$BF9="";"";1))

a la celda B2, a:

=CONCATENER(NB.SI(JAN!$G$11:$BR$11;"BVS0600W01");"/";SI(JAN!$O11="";"";1)+SI(JAN!$AC11="";"";1)+SI(JAN!$AQ11="";"";1)+SI(JAN!$BF11="";"";1))

en la celda B3.

Por lo tanto, es incrementar en función de la columna B de la hoja 1, tomando como fuente la fila 9 de la hoja JAN para la celda B2 de la hoja 1 y luego la fila 11 de JAN para la celda B3 de la hoja 1.

Quedo a su disposición.

Cordialmente

Que tenga un buen día

2 respuestas

  1. via55 Mensajes publicados 14393 Fecha de registro   Estado Miembro Última intervención   2 759
     
    Hola

    Hay que reconstruir una dirección con INDIRECT, lo que da:
    =CONCATENER(NB.SI(INDIRECT("JAN!G"&2*LIGNE()+5&":BR"&2*LIGNE()+5);"BVS0600W01");"/";SI(INDIRECT("JAN!$O"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AC"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AQ"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$BF"&2*LIGNE()+5)="";0;1))

    Atención en los verdaderos de tus SI no debes tener "" sino 0, de lo contrario la suma da el error #VALOR si un SI devuelve ""

    Cordialmente
    Via

    --
    "La imaginación es más importante que el conocimiento."    A. Einstein
    1
    1. AP976 Mensajes publicados 11 Estado Miembro
       
      Hola via55, Gracias Sí entiendo para el 0 en lugar de "". Con respecto a la función INDIRECT, no entiendo cómo funciona, ¿podrías explicármelo, por favor? En particular, ¿por qué +5? Gracias de antemano Saludos
      0
    2. AP976 Mensajes publicados 11 Estado Miembro
       
      Hola via55, Al llegar a 100 iteraciones, me muestra 0/0. No veo dónde modificarlo para cambiar eso. Atentamente
      0
  2. via55 Mensajes publicados 14393 Fecha de registro   Estado Miembro Última intervención   2 759
     
    La función INDIRECT reconstruye una dirección válida por concatenación
    Por ejemplo INDIRECT("JAN!G" & A1 & "BR" & A1) reconstruye la dirección JAN!G3:BR3 si hay 3 en A1
    En tu caso hay que complicarlo un poco porque en la fila 2 de tu tabla hay que tener 9 en la fórmula, en la fila 3 hay que tener 11, en la fila 4 hay que tener 13
    un poco de matemáticas (resolución de un sistema de ecuaciones) permiten encontrar que el número en la fórmula es igual a fila*2 al que se le añade 5:
    2*2+5=9
    3*2+5=11 etc
    de donde & 2*LÍNEA()+5 en la fórmula

    Saludos

    --
    "La imaginación es más importante que el conocimiento." A. Einstein
    1
    1. AP976 Mensajes publicados 11 Estado Miembro
       
      De acuerdo, gracias, me aclara.
      0