Я хочу получить много данных из Sheet1 в Sheet2, но когда я тяну команду вправо, она должна увеличивать "C" до "D" только в каждой третьей строке. Потому что у меня есть 3 команды, которые нужно тянуть вправо, и все они должны просто увеличиваться на одну, а не на 3.
А1 выглядит так:
=WENN(Sheet1!C3>0;Sheet1!C$2;"")
B1 нравится это:
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
C1 как это:
=WENN(Sheet1!C3>0;Sheet1!C3;"")
Когда я тяну его вправо, они меняются вот так:
=WENN(Sheet1!F3>0;Sheet1!F$2;"")
=WENN(Sheet1!F3>0;Sheet1!$A3;"")
=WENN(Sheet1!F3>0;Sheet1!F3;"")
Но я хочу:
=WENN(Sheet1!D3>0;Sheet1!D$2;"")
=WENN(Sheet1!D3>0;Sheet1!$A3;"")
=WENN(Sheet1!D3>0;Sheet1!D3;"")
Надеюсь, вы понимаете, о чем я. Есть ли способ это сделать?
решение1
Вы можете использовать полезную OFFSET
функцию, чтобы контролировать, насколько вы хотите сместить ячейку вправо.
Поскольку вы хотите сдвинуть 1 столбец (на Листе1) через каждые 3 столбца (на Листе2), вы можете использовать следующую функцию:
=ROUNDUP(COLUMN()/3,0)-1
Это в основном будет использовать номер столбца, деленный на 3 и округленный. Затем мы убираем 1, потому что мы не хотим сдвигать первые 3 столбца. Если потянуть это вправо, вы получите следующую последовательность:0 0 0 1 1 1 2 2 2 3 3 3...
Теперь вы знаете, на сколько вам нужно сдвинуть ячейку C3
, вы можете использовать OFFSET
функцию, чтобы получить правильные данные. Вот формулы, которые вам следует использовать в Sheet2
:
А1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C$2,0,ROUNDUP(COLUMN()/3,0)-1),"")
В1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,Sheet1!$A3,"")
С1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1),"")
Ожидаемый результат:
Вы, кажется, используете Excel на немецком языке. Вот переведенные формулы:
=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);"")