2014-06-25 64 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

相关问题