簡體   English   中英

在具有多個匹配項的Excel列中查找單個值

[英]Looking for a single value in an Excel column with multiple matches

我有一個客戶編號列表,我需要搜索一個帳戶列表,以找出該客戶文件中是否有特定的帳戶編號。

我的原始表是這樣的

原版的

我的帳號列表如下所示

  • 217 1008
  • 218 1008
  • 219 1008
  • 217 2009
  • 218 2009
  • 219 2009
  • 218 3015
  • 219 3015
  • 217 4017
  • 219 4017

預期結果如下所示

結果

最初,我將客戶和帳號連接在一起,然后進行了VLOOKUP,但是我敢肯定有更好的方法。 也許使用VBA代替工作表中的公式。 誰能幫我嗎?

如果您的客戶和帳戶列表位於單獨的單元格中,則可以使用Countifs()

在此處輸入圖片說明

正如@pnuts所說,數據透視表將為您提供結果表,但是如果您有大量客戶/帳戶,它將很快變得笨拙。 除非您不想修改數據,否則將CONCATENATEd值設為VLOOKUP是一個好方法。

如果您僅對少量的客戶/帳戶進行一次單次檢查,也許僅對數據使用自動過濾器可能是一個更簡單的解決方案?

如果您的客戶和帳戶在同一列中,則可以使用此方法來嘗試MATCH行和列標題(帶空格)的串聯:

=IF(NOT(ISERROR(MATCH($C4&" "&D$1,$A$2:$A$11,0))),"X","")

例如:

在此處輸入圖片說明

我將假設結果中顯示的表格從A1單元格開始,因此您的公式將在B3中鍵入並向右和向下復制。 我還將假設您的帳戶列表在Acct命名范圍內。

=IF(MATCH($A3&" "&B$14,Acct)>0,"X","")

在您的示例中,將其復制到B3:E5中的所有單元格中。

這是使用Index/Match的另一種方法。 使用“文本到列,空格分隔符”將217 1008列分成兩部分。 然后說它們在J1:J10的范圍內( 217, 218, etc. ),在K1:K10的范圍內是1008, 1009, etc.

=IF(NOT(ISERROR(INDEX($J$1:$J$10,MATCH($A2&B$1,$J$1:$J$10&$K$1:$K$10,0)))),"X","")
(使用CTRL + SHIFT + ENTER輸入數組)

其中A2是您的217數字下降的開始,而B1是1008開始右拐。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM