2

Я хочу получить много данных с Sheet1 на Sheet2, но когда я перетаскиваю команду вправо, она должна только увеличивать букву "C" до "D" в каждой третьей строке. Потому что у меня есть 3 команды, чтобы тянуть вправо, и все должны просто увеличиваться на одну, а не на 3.

А1 выглядит так:

=WENN(Sheet1!C3>0;Sheet1!C$2;"")

В1 вот так:

=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 ответ1

1

Вы можете использовать полезную функцию OFFSET , чтобы контролировать, насколько вы хотите сместить ячейку вправо.

Поскольку вы хотите сдвинуть 1 столбец (в Sheet1) на каждые 3 столбца (в Sheet2), вы можете использовать следующую функцию:

=ROUNDUP(COLUMN()/3,0)-1

Это будет в основном использовать номер столбца, разделить его на 3 и округлить. Затем мы удаляем 1, потому что мы не хотим сдвигать первые 3 столбца. Если потянуть это вправо, вы получите следующую последовательность: 0 0 0 1 1 1 2 2 2 3 3 3...

Теперь вы знаете, насколько вам нужно сместить ячейку C3 , вы можете использовать функцию OFFSET чтобы получить правильные данные. Вот формулы, которые вы должны использовать в 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,"")

С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);"")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .