Ich versuche, Daten aus einem Excel-Stammblatt in eine andere Excel-Datei zu ziehen, aber die Zahlen werden zeilenweise übersprungen.
Das ist, was ich versuche zu tun
='[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
Folgendes passiert beim AutoFill
='[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
Ich habe auch versucht, die Zeilen zu verdoppeln und das Sprungmuster erkennen zu lassen, aber das ist, was ich bekomme
='[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
Antwort1
So kann das Problem mithilfe der INDIRECT()
Funktion gelöst werden:
• In der Zelle verwendete FormelA1
=INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2-1)+14)+
INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&ROW()*2+14)
Oder etwas kürzer:
=SUM(INDIRECT("'[MASTER ITEM LIST 2024.xlsx]Sheet1'!$E"&(ROW()*2+{-1,0})+14))
Notiz:Die obige Formel gibt einen Fehler zurück -->, #REF!
wenn die MASTER ITEM LIST 2024.xlsx
Datei, in die die Formel eingegeben wurde, beim Arbeiten nicht geöffnet ist. Sie funktioniert, solange beide Dateien geöffnet sind.
Ein weiterer Nachteil ist die verwendete Funktion. INDIRECT()
Die Funktion ist von Natur aus volatil, d. h. sie wird immer neu berechnet, wenn es eine Änderung in einer geöffneten Arbeitsmappe gibt, und sie verlangsamt die Arbeitsfunktionalität von Excel, da sie einfädig ist. Bei der zweiten Methode INDIRECT()
müssen Sie je nach Version CTRL+ SHIFT+ drücken ENTER, wenn Sie den Bearbeitungsmodus verlassen.
Eine Alternative ist die Verwendung von TOCOL()
+ WRAPROWS()
mit BYROW()
Funktion.
• In der Zelle verwendete FormelA1
=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))
Die obige Formel funktioniert mit, Office Insiders
aber damit sie auch für funktioniert, Current Channel Users
muss MS365
einLAMBDA()
=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))))