Legen Sie den Datentyp auf Zeichenfolge fest, damit XLOOKUP funktioniert

Legen Sie den Datentyp auf Zeichenfolge fest, damit XLOOKUP funktioniert

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

Quelltabelle

Nachschlagwerk

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 Numbersin derSource Tableist als Zahl/allgemein formatiert, während in derLookup TableEs wird als Text formatiert, da der Zusatz mit --> 1angehängt wird .&Ampersand

Bei weiterer Untersuchung werden Sie möglicherweise feststellen, dass in Excelstandardmäßig Zahlen sind, right alignedwährend Texte sind, left alignedes sei denn, Sie haben die Ausrichtung formatiert, aber es scheint nicht so aus dem Screenshot, wie Sie über die bestätigt habenSourceDatenformatierung. Auch wenn Sie eine Zahl eingeben, Excelwird sie, sofern sie nicht zuvor formatiert wurde, als angezeigt General.


Was musst du machen?

Verketten Sie einen empty string--> ""mit [Lookup_Value]imSource Tablewährend Sie die Formel wie unten gezeigt anwenden, was für Sie funktionieren sollte:

Bildbeschreibung hier eingeben


• 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 Mobileder Mehrfachfunktion SUBSTITUTE()in zu verwenden.Lookup_Table

Bildbeschreibung hier eingeben


=1&CONCAT(TEXTSPLIT(A4,{"(",")","-"," ","."},,1))

Wenn ein double unary--> --oder 1multipliziert oder dividiert oder 0zur 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.


verwandte Informationen