如何自動填充公式以跳過一行

如何自動填充公式以跳過一行

我試圖將資料從 Excel 主表拖曳到另一個 Excel 檔案中,但每行都會跳過數字。

這就是我想做的

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

自動填充期間發生以下情況

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E16+'[MASTER ITEM LIST 2024.xlsx]'!$E17

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

我還嘗試將線條加倍並讓它識別跳躍模式,但這就是我得到的

='[MASTER ITEM LIST 2024.xlsx]'!$E15+'[MASTER ITEM LIST 2024.xlsx]'!$E16

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E17+'[MASTER ITEM LIST 2024.xlsx]'!$E18

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

='[MASTER ITEM LIST 2024.xlsx]'!$E19+'[MASTER ITEM LIST 2024.xlsx]'!$E21

='[MASTER ITEM LIST 2024.xlsx]'!$E21+'[MASTER ITEM LIST 2024.xlsx]'!$E23

答案1

這是使用INDIRECT()函數解決問題的一種方法:

在此輸入影像描述


• 在儲存格中使用的公式A1

=INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2-1)+14)+
 INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&ROW()*2+14)

或者,更短一點:

=SUM(INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2+{-1,0})+14))

筆記:#REF!如果MASTER ITEM LIST 2024.xlsx在使用輸入公式的檔案時未打開,則上面的公式會傳回錯誤 --> 。只要兩個文件都打開,它就可以工作。

還有一個缺點是所使用的功能。INDIRECT()函數本質上是不穩定的,也就是說,當任何開啟的工作簿發生變更時,它總是會重新計算,並且由於它是單執行緒的,它會減慢 Excel 的工作功能。根據版本,第二種方法INDIRECT()需要在退出編輯模式時按CTRL+ SHIFT+ 。ENTER


一種替代方法是將TOCOL()+WRAPROWS()BYROW()函數一起使用。

在此輸入影像描述


• 在儲存格中使用的公式A1

=LET(
     x, TOCOL('[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E:$E,1),
     y, ROWS(x),
     BYROW(WRAPROWS(IF(ISEVEN(y),x,VSTACK(x,0)),2),SUM))

上面共享的公式適用於Office Insiders但要使其適用於Current Channel Users需要MS365添加LAMBDA()

=LET(
     x, TOCOL('[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E:$E,1),
     y, ROWS(x),
     BYROW(WRAPROWS(IF(ISEVEN(y),x,VSTACK(x,0)),2),LAMBDA(a,SUM(a))))

相關內容