Also, ich habe ein ziemlich involviertes Arbeitsbuch.Microsoft Excel LOOKUP-Funktion nur ... funktioniert nicht?
Blatt 1: Eine Datenbank, in der der Benutzer eine Liste von Instrumenten sowie einige Daten zu den Instrumenten in einer vertikalen Spalte eingibt.
Blatt 2: Ein Blatt, das die gleichen Informationen wie Blatt 1 enthält, es aber in einem anderen Format anzeigt. Befüllt automatisch basierend auf Einträgen aus Blatt 1. (In dieser Frage nicht hilfreich)
Es existiert ein Makro in Blatt 1, das durch Klicken auf eine Schaltfläche ausgeführt wird. Dieses Makro nimmt jede Spalte aus Blatt 1 und erstellt für jede Spalte ein neues Blatt. Jedes neue Blatt Blatt 3 wird in den ersten Wert in der Spalte von Blatt 1 umbenannt, die es darstellt.
- d.h. Es gibt 4 Spalten in Blatt 1 mit dem ersten Wert in jeder Spalte infrage kommen: LS-alpha, LS-Bravo, LS-CHARLIE, LS-DELTA. Mein Makro erstellt 4 neue Blätter namens LS-ALPHA, LS-BRAVO, LS-CHARLIE, LS-DELTA.
Die erste Zelle (technisch H2) auf jedem der neuen Blätter enthält eine Formel, um den Blattnamen zu referenzieren.
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
- dh H2 auf dem LS-ALPHA Blatt tatsächlich sagen: "LS-ALPHA", H2 auf dem LS-BRAVO Blatt wird LS-BRAVO sagen usw.
Jede andere Datenzelle auf dem neuen Blatt wird diesen Wert auf dem Hauptblatt (Blatt 1) automatisch nachschlagen, um festzustellen, aus welcher Spalte es stammt. Dann wird es unter diesen Wert gehen und den Inhalt von einigen Zellen x Zeilen darunter erhalten.
=LOOKUP(H2,'Database (Cols)'!D2:AN2,'Database (Cols)'!D3:AN3)
Das funktioniert absolut perfekt. Es macht alles gut.
Ausgenommen, nicht immer.
jedoch wenn ich die Spalten so etwas wie "LS-TTF, LS-TTD, LS-TSD, LS-TSF" umbenannt werden sie alle irgendwie gebrochen .... Keiner der Links auf dem Blätter funktionieren nicht mehr. Einige von ihnen zeigen auf die falsche Spalte, wenn sie sogar etwas zeigen. Dieses Problem, das ich habe, ist unglaublich eigenartig. Ich weiß nicht, warum diese Namen es besonders brechen, und ich weiß auch nicht, welche anderen Namen es auch brechen würden.
Was passiert, wenn es "bricht": Alle Referenzen scheinen die letzte verfügbare Spalte in der LOOKUP zu finden. Drei der vier Blätter verwenden alle Werte aus der vierten Spalte, wenn dies nicht der Fall ist. Dann gibt mir ein Blatt nur Fehler (# N/A). Wenn ich durch die Berechnung gehe, sucht sie nach dem richtigen Wert in der LOOKUP-Funktion, sie gibt einfach nicht das Richtige zurück ....
Ich kann nicht wirklich viel mehr Informationen geben, ohne Ihnen zu zeigen, was passiert, also habe ich eine funktionierende Tabelle und eine defekte Tabelle hinzugefügt. Die Blätter wurden aus dem Makro generiert, so dass Sie sich nicht damit herumschlagen müssen. Die Arbeits- und gebrochene Dateien sind unter:
Arbeits: https://drive.google.com/file/d/0B9zbU-BeMQNfSmRrWVhKVW9RN3M/view?usp=drivesdk
gebrochen: https://drive.google.com/file/d/0B9zbU-BeMQNfd1FUemwxQjQwMEE/view?usp=drivesdk
Hinweis, die Echo-Spalte ist für Debug-Zwecke. Ich versuchte zu sehen, ob sie alle Echo statt Delta zeigen würden. Anscheinend tun sie das nicht.
Ich sehe keinen Unterschied. Wo ist es? –
Die "Broken" -Blätter zeigen Delta in allen Werten. (Außer einem Blatt, das # N/A aus irgendeinem Grund zeigt) Die "Arbeitsblätter" zeigen die korrekten entsprechenden Werte; "alpha #" "beta #", usw. –
Die Datenbank sieht wie folgt aus: https://s32.postimg.org/bld2rekn9/database.png Ein korrekter Eintrag wäre LS-TSF mit "delta", wie z : https://s32.postimg.org/b7bqrt0jp/correct.png Eine falsche Eingabe wäre LS-TTF zeigt "Delta" anstelle von "Alpha": https://s32.postimg.org/5lpbnqzut/ incorrect.png Wenn die Namen der Spalten jedoch wie in der Arbeitsmappe geändert werden, tritt dieses Problem nicht auf –