Ich habe einige Probleme mit der Ausführung von XLOOKUP auf einer berechneten Spalte:
In meiner Quelltabelle habe ich eine Liste von Telefonnummern mit dem Spaltentyp „Allgemein“ und der Eingabe 1###########. Diese Werte werden nicht berechnet.
In meiner Nachschlagetabelle habe ich dieselbe Liste von Telefonnummern im Format (NNN)NNN-NNNN. Anschließend habe ich eine Spalte erstellt, um die Telefonnummer für die Suche richtig zu formatieren:
="1" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"(",""),")",""),"-","")," ",""),".","")
Dadurch wird korrekt eine Übereinstimmung erstellt, die optisch mit meiner Quelltabelle (C) und Nachschlagetabelle (F) übereinstimmt.
Quelltabelle
Nachschlagwerk
Allerdings kann ich mit diesem XLOOKUP keine Übereinstimmung finden:
=XLOOKUP([@[Phone Number]],'Data'!F:F,'Data'!G:G,"No Match", 0,1)
Als einfacher Test funktioniert XLOOKUP, wenn ich die exakt gleichen Daten manuell in Spalte H eingebe und ändere.
Ich habe versucht, beide Spalten als „Text“ und „Allgemein“ zu formatieren, aber ohne Erfolg. Gibt es in Excel eine Möglichkeit zu sagen: „Hey, diese Spalte ist eine Zeichenfolge, behandle sie als solche?“
Antwort1
Wenn man es richtig versteht, scheint es, als ob Phone Numbers
in derSource Table
ist als Zahl/allgemein formatiert, während in derLookup Table
Es wird als Text formatiert, da der Zusatz mit --> 1
angehängt wird .&
Ampersand
Bei weiterer Untersuchung werden Sie möglicherweise feststellen, dass in Excel
standardmäßig Zahlen sind, right aligned
während Texte sind, left aligned
es sei denn, Sie haben die Ausrichtung formatiert, aber es scheint nicht so aus dem Screenshot, wie Sie über die bestätigt habenSource
Datenformatierung. Auch wenn Sie eine Zahl eingeben, Excel
wird sie, sofern sie nicht zuvor formatiert wurde, als angezeigt General
.
Was musst du machen?
Verketten Sie einen empty string
--> ""
mit [Lookup_Value]
imSource Table
während Sie die Formel wie unten gezeigt anwenden, was für Sie funktionieren sollte:
• In der Zelle verwendete FormelG4
=XLOOKUP(F4&"",B4:B8,C4:C8,"No Match",0,1)
Das Obige kann auch wie folgt geschrieben werden:
=XLOOKUP(F4:F5&"",B4:B8,C4:C8,"No Match",0,1)
Im Kontext des OP lautet die Formel:
=XLOOKUP([@[Phone Number]]&"",'Data'!F:F,'Data'!G:G,"No Match", 0,1)
Wenn Sie Zugriff auf haben MS365
, empfehle ich Ihnen dringend, die folgende Formel anstelle Person Account Mobile
der Mehrfachfunktion SUBSTITUTE()
in zu verwenden.Lookup_Table
=1&CONCAT(TEXTSPLIT(A4,{"(",")","-"," ","."},,1))
Wenn ein double unary
--> --
oder 1
multipliziert oder dividiert oder 0
zur obigen Formel hinzugefügt wird, dann ist es [Lookup_Value]
nicht XLOOKUP()
erforderlich, einen leeren String zu kontaktieren.
Notiz:Bei den angezeigten Telefonnummern handelt es sich um zufällig erstellte Fälschungen. Ändern Sie daher bitte auch die Referenz und Bereiche nach Belieben.