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
線を2倍にしてスキップパターンを認識させようとしましたが、結果はこうなりました
='[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()
関数を使用して解決する 1 つの方法を次に示します。
• セルで使用されている数式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
両方のファイルが開いている限り機能します。
また、もう 1 つの欠点は、使用される関数です。INDIRECT()
関数は本質的に揮発性であり、開いているブックに変更があるたびに常に再計算されます。また、シングル スレッドであるため、Excel の動作機能が低下します。2 番目の方法を使用する場合は、バージョンに応じて、編集モードを終了するときに+ +INDIRECT()
を押す必要があります。CTRLSHIFTENTER
1 つの代替案は、関数に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))
上記の式はsharedで機能しますが、 inOffice 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))))