![Bearbeiten Sie referenzierte Zellen im Hauptarbeitsblatt aus einem abgeleiteten Arbeitsblatt in Excel](https://rvso.com/image/1313340/Bearbeiten%20Sie%20referenzierte%20Zellen%20im%20Hauptarbeitsblatt%20aus%20einem%20abgeleiteten%20Arbeitsblatt%20in%20Excel.png)
Ich verwende Excel 2010 und habe zwei Arbeitsblätter. Blatt A hat eine eindeutige Kennungsspalte und andere Spalten mit Werten. Blatt B hat eine Liste mit Kennungen und anderen Feldern, für die ich eine VLOOKUP
Formel verwende, um sie aus den Werten in Blatt A zu füllen.
Idealerweise würde ich die Werte gerne direkt auf Blatt B bearbeiten und sie auf Blatt A aktualisieren lassen, aber das scheint nicht möglich zu sein – wenn ich es versuche, überschreibe ich meine =VLOOKUP
Formel einfach mit Rohdaten. Habe ich Recht, dass das nicht geht?
Gibt es alternativ einen Trick, um durchzuklicken oder irgendwie automatisch von der Zelle mit der VLOOKUP
Formel in Blatt B zur Originalzelle in Blatt A zu springen?
Mein Gesamtziel besteht darin, alle Rohwerte in Blatt A zu speichern und nur diese von Blatt B aus zu referenzieren, ohne Blatt A manuell durchsuchen zu müssen, um Daten zu aktualisieren.
Antwort1
Zur Umsetzung Ihres Alternativwunsches können Sie die HYPERLINK
Funktion in Verbindung mitVLOOKUP
Angenommen, Sheet A
Spalte A enthält IDs und Spalte B Werte. Ersetzen Sie diese VLOOKUP
durch
=HYPERLINK("#'Sheet A'!B"&MATCH(A2,'Sheet A'!$A:$A,0),VLOOKUP(A2,'Sheet A'!$A:$B,2,0))
Dadurch wird nicht nur das VLOOKUP
Ergebnis wie zuvor angezeigt, sondern beim Klicken auf die Zelle wird auch ein Hyperlink zum gefundenen Wert in Blatt A bereitgestellt.
Antwort2
Das Hauptproblem, mit dem Sie jetzt konfrontiert sind, ist die zirkuläre Referenzierung.
SVERWEIS ist keine A = B
Beziehung, sondern eher wie eine if A then B
Beziehung (wobei A und B Wertefelder sind, wie in Ihrem Fall). Mit anderen Worten, es ist einseitig und A ist nicht von B abhängig. Soweit ich das sehe, gibt es in Excel keine direkte Möglichkeit, einen Zirkelverweis rein über die Benutzeroberfläche zu verarbeiten, da die Formel nicht im Backend gespeichert werden kann (es sei denn, Sie verwenden ein Makro).
Eine Möglichkeit besteht darin, relative Werte sowohl in A als auch in B zu haben und ein drittes Blatt (oder viele zusätzliche Spalten) für einige bedingte Zellen zu verwenden. Beispielsweise enthält Blatt A relative Werte (das könnte ein neuer aktualisierter Wert in B oder ein Originalwert in C sein), Blatt C enthält Originalwerte und Blatt B enthält Zellen zum Wiedergeben von Werten UND zum Aktualisieren von Werten.
Erstellen Sie in Blatt B für jede referenzierte Spalte eine neue Spalte. Dies wird die Spalte „Werte aktualisieren“. Speichern Sie in Blatt C Ihre ursprünglichen Werte. Verwenden Sie in Blatt A eine Bedingung, die besagt: „Wenn das Feld „Werte aktualisieren“ in Blatt B einen Wert hat, verwenden Sie ihn, andernfalls verweisen Sie auf Blatt C“. Die Spalte „Werte reflektieren“ von Blatt B verweist weiterhin auf Blatt A, sodass sie sich dynamisch ändert, wenn die Spalte „Werte aktualisieren“ neue Werte hat. Beachten Sie, dass dies das Problem der zirkulären Referenz nicht wirklich löst, sondern nur umgeht.
Wenn Sie jedoch für Blatt A feste Werte und keine relativen Werte benötigen, müssen Sie paste as value
Folgendes kopieren oder verwenden:
ActiveSheet.Range("A1:D1000").Value = ActiveSheet.Range("A1:D1000").Value
in VB, um relative Werte (mit Formeln) in feste Werte umzuwandeln.