Die Verwendung von INDIRECT()
funktioniert hervorragend , wenn die absolute Position von Referenzen beibehalten werden soll, nachdem die Ziele kopiert und eingefügt wurden. Das Problem besteht jedoch darin, dass die absolute Position auch beibehalten wird, wenn die Formel kopiert wird Reichweite bei der Verwendung.
Die Lösung besteht darin, die Position der Zielzelle basierend auf der Zelle der Formel INDIRECT()
mit ROW()
, zu kombinieren COLUMN()
und ADDRESS()
programmgesteuert zu generieren.
Im einfachsten Fall, wenn die Zielzelle eine feste Spalte hat und immer in der gleichen Zeile wie die Formel bleibt, kann dies folgendermaßen erfolgen:
INDIRECT("A"&ROW())
Um dynamische Offsets aus der Formelzelle einzuführen, können Sie Folgendes verwenden ADDRESS()
:
INDIRECT(ADDRESS(ROW()-1,COL()-4))
Im folgenden Screenshot wurden die Formeln in den B1:E1
16 Zeilen darunter erweitert, und dann wurde die Zahlenfolge in A7:A10
ausgeschnitten und 6 Zellen nach unten eingefügt. Wie Sie sehen, wurden die einfachsten Formeln automatisch angepasst und desynchronisiert, während die naive Verwendung von INDIRECT()
nicht für alle Zeilen richtig extrapoliert wurde, aber die beiden Formeln, die INDIRECT()
zusammen mit dem programmgesteuerten Abrufen von Zeilen- und Spaltenpositionen verwendet wurden, konnten ihre Verweise beibehalten: