Excel увеличивает букву только в каждой третьей строке

Excel увеличивает букву только в каждой третьей строке

Я хочу получить много данных из 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);"")

Связанный контент