Excel Lookup fügt der Zeichenfolge doppelte Anführungszeichen hinzu

1

Ich verwende diese Formel, um einen Wert aus einer Tabelle zu erhalten

=LOOKUP(C11;Alias[A];Alias[B])

wo C11 = 12354567

Aber wenn ich benutze

=LOOKUP(LEFT(C11,7);Alias[A];Alias[B])

mit C11 = 12345678 funktioniert die Formel nicht.

Auswerten der Formel Ich habe herausgefunden, dass LEFTdoppelte Anführungszeichen die Formel wie folgt machen:

=LOOKUP("1234567";Alias[A];Alias[B])

Wie kann man dieses Problem angehen?

Axxess
quelle

Antworten:

3

Sie müssen den Text wieder in eine Zahl umwandeln. Sie können dies tun, indem Sie mit 1 multiplizieren oder 0 addieren (oder 0 subtrahieren oder durch 1 dividieren, und zwar jede arithmetische Operation, die den Endwert nicht ändert):

=LOOKUP(LEFT(C11,7)*1;Alias[A];Alias[B])

=LOOKUP(LEFT(C11,7)+0;Alias[A];Alias[B])

Text - Operationen (wie LEFT, MID, RIGHTusw.) Rückkehr Textwert und nicht numerisch diejenigen.

Ein "formeller" Weg wäre VALUE:

=LOOKUP(VALUE(LEFT(C11,7));Alias[A];Alias[B])
Jerry
quelle
2

Leftgibt eine Zeichenkette zurück, von der ich annehme, dass sie mit Zahlen verglichen wird. Dies wird fehlschlagen. Sie müssen es mit etwas wie Int(Left(C11))oder in eine Zahl ändern Value(Left(C11)).

=LOOKUP(INT(LEFT(C11,7));Alias[A];Alias[B])

oder

=LOOKUP(VALUE(LEFT(C11,7));Alias[A];Alias[B])

Raystafarian
quelle
1
+1 für Wert, aber ich würde es vermeiden int, da in diesem Fall, es funktioniert, aber sollte der Text anders sein (z. B. int(left(2.345,3))würde 2 statt 2,3 zurückgeben.
Jerry
1
@Jerry Ich stimme zu, ich hätte nur die Verwendung intmit ganzen Zahlen erwähnen sollen . Manchmal vergesse ich die einfachen Dinge.
Raystafarian