Quiero obtener una gran cantidad de datos de la Hoja1 a la Hoja2, pero cuando ejecuto un comando hacia la derecha, solo debería aumentar la "C" a una "D" cada tercera fila. Porque tengo 3 comandos para tirar hacia la derecha y todos deberían aumentar en uno, no en 3.
A1 se ve así:
=WENN(Sheet1!C3>0;Sheet1!C$2;"")
B1 así:
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
C1 así:
=WENN(Sheet1!C3>0;Sheet1!C3;"")
Cuando lo tiro hacia la derecha, cambian así:
=WENN(Sheet1!F3>0;Sheet1!F$2;"")
=WENN(Sheet1!F3>0;Sheet1!$A3;"")
=WENN(Sheet1!F3>0;Sheet1!F3;"")
Pero yo quiero:
=WENN(Sheet1!D3>0;Sheet1!D$2;"")
=WENN(Sheet1!D3>0;Sheet1!$A3;"")
=WENN(Sheet1!D3>0;Sheet1!D3;"")
Espero que sepas a qué me refiero. ¿Hay alguna manera de hacer esto?
Respuesta1
Puede utilizar la útil OFFSET
función para controlar cuánto desea desplazar una celda hacia la derecha.
Como desea desplazar 1 columna (en la Hoja1) cada 3 columnas (en la Hoja2), puede utilizar la siguiente función:
=ROUNDUP(COLUMN()/3,0)-1
Básicamente, esto usará el número de columna, lo dividirá por 3 y lo redondeará. Luego, eliminamos 1, porque no queremos desplazar las primeras 3 columnas. Si tira esto hacia la derecha, obtendrá la siguiente secuencia:0 0 0 1 1 1 2 2 2 3 3 3...
Ahora que sabes cuánto necesitas desplazar la celda C3
, puedes usar la OFFSET
función para obtener los datos correctos. Aquí están las fórmulas que debes usar en Sheet2
:
A1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C$2,0,ROUNDUP(COLUMN()/3,0)-1),"")
B1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,Sheet1!$A3,"")
C1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1),"")
Resultado Esperado:
Parece que estás usando Excel en alemán. Aquí están las fórmulas traducidas:
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;BEREICH.VERSCHIEBEN(Sheet1!$C$2;0;AUFRUNDEN(SPALTE()/3;0)-1);"")
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;Sheet1!$A3;"")
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1);"")