將資料類型設為字串,以便 XLOOKUP 可以工作

將資料類型設為字串,以便 XLOOKUP 可以工作

我在計算列上執行 XLOOKUP 時遇到一些問題:

在我的來源表中,我有一個電話號碼列表,列類型設定為常規,輸入為 1##########。這些值未被計算。

在我的查找表中,我有相同的電話號碼列表,格式為 (NNN)NNN-NNNN,然後我創建了一列來正確格式化用於查找的電話號碼:

="1" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"(",""),")",""),"-","")," ",""),".","")

這正確地產生了一個匹配,從視覺上看,它似乎與我的來源表 (C) 和查找表 (F) 匹配。

來源表

來源表

查找表

查找表

但是,我沒有看到使用此 XLOOKUP 的匹配項:

=XLOOKUP([@[Phone Number]],'Data'!F:F,'Data'!G:G,"No Match", 0,1)

作為一個簡單的測試,如果我手動在 H 列中輸入完全相同的資料並更改它,XLOOKUP 就會起作用。

我嘗試將兩列格式化為“文字”和“常規”,但沒有成功。 Excel中有沒有一種方法可以說“嘿,這一列是一個字串,可以這樣對待它嗎?”

答案1

如果理解正確的話,似乎Phone NumbersSource Table格式為數字/一般,而在Lookup Table它被格式化為文本,因為附加內容使用-->1連接。&Ampersand

進一步調查,您可能會發現,Excel預設情況下數字是,right aligned而文字是,left aligned除非您設定了對齊格式,但從螢幕截圖來看似乎並非如此,而且您也已經確認了Source數據格式化。此外,當您輸入數字時,Excel除非先前已格式化,否則它將顯示為General


你需要做什麼?

在中連接empty string-->""[Lookup_Value]Source Table應用如下所示的公式時,它應該對您有用:

在此輸入影像描述


• 在儲存格中使用的公式G4

=XLOOKUP(F4&"",B4:B8,C4:C8,"No Match",0,1)

上式也可以寫成:

=XLOOKUP(F4:F5&"",B4:B8,C4:C8,"No Match",0,1)

在OP的上下文中,公式如下:

=XLOOKUP([@[Phone Number]]&"",'Data'!F:F,'Data'!G:G,"No Match", 0,1)

另外,如果您有權訪問MS365,我強烈建議您使用以下公式代替中的Person Account Mobile多重函數SUBSTITUTE()Lookup_Table

在此輸入影像描述


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

如果double unary-->--或被1乘或除或0添加到上面的公式中,則[Lookup_Value]inXLOOKUP()不需要聯繫和空字符串


筆記:顯示的電話號碼是隨機建立的假電話號碼,也請根據您的需求變更參考和範圍。


相關內容