Excel只每第三行增加一個字母

Excel只每第三行增加一個字母

我想從 Sheet1 到 Sheet2 獲取大量數據,但是當我向右拉一個命令時,它應該只每隔三行將“C”增加到“D”。因為我有 3 個向右拉的命令,並且所有命令都應該只增加 1,而不是 3。

A1 看起來像這樣:

=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函數來控制單元格向右移動的程度。

由於您想要每 3 列(在 Sheet2 中)移動 1 列(在 Sheet1 中),因此可以使用下列函數:

=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,"")

C1

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

相關內容