2014-06-25 66 views
0

我有兩個工作 他們二人的基本格式之間的匹配記錄是:Excel中 - 基於多列工作表

  • C1,姓,名,C4,C5,C6

我試圖在第二個工作表上創建一個列(它明顯小於另一個工作表),它告訴我記錄工作表2是否與工作表1中的記錄匹配,並基於名和姓。

該過濾器幾乎得到了我什麼,我想:如果用戶的名字匹配他人的工作表1和用戶的姓氏名字匹配別人的姓氏

=IF(ISERROR(MATCH(B2:C2,Table2[last name]:Table2[First Name],0)),"user gone","user exists") 

除了它會返回true。例如:

  • 表二包含Jane Doe的,在工作表中找李四一個
  • 工作表一個具有簡吉爾和李四,但沒有李四。代碼出現真正
  • 如果工作表一個只有這些用戶中的一個,然後我得到假

我需要的過濾器返回true只有李四兩個列表中存在。 我如何調整我的過濾器來做到這一點?我一直在尋找方法來匹配記錄中的單列而不是記錄之間的多列。

回答

1

你可以用數組公式很容易地做到這一點。

確保在使用CTRL + SHIFT作爲陣列式輸入+輸入

=IF(SUM((B2=Table2[last name])*(C2=Table2[First Name])*1),"user exists","user gone") 

總和中搜索名稱,並返回一個1或0,並且如果語句分配一個值。

+0

對不起,我錯過了你的評論,但平等返回零和數組的數組,其中等於成立的行。零和零的數組相乘在一起給出了一個數組,其中兩個等號都保持不變(其他地方爲零),然後總和將它們相加。 if語句使用零結果爲假而大於零的結果爲真的結果。我希望這有幫助! – PerpetualStudent

+0

所以基本上我們正在以某種方式使用函數,它們並不是真正意義上的,但它巧妙地運用了它。 有沒有一種方法可以從記錄中提取一段數據,它有助於解決問題?似乎沒有辦法,這並不重要,但我很好奇。 – icomeinpieces

+0

數組公式非常強大;我不確定這完全是無意的用途。至於拉其他數據,你可以使用公式返回一個索引,然後做一個查找。順便說一句,如果這個答案解決了你的問題,你會介意接受它嗎? – PerpetualStudent

相關問題