excel表中如何用函数实现多重条件查找并返回指定值

举个例子:现在有一个Excel 表如下:
Sheet1:
A B C D E
张三 物理 数学 语文 数据1
张三 天文 体育 历史 数据2
李四 物理 化学 政治 数据3
李四 历史 语文 体育 数据4
李四 天文 地理 兵法 数据5
王五 历史 数学 体育 数据6
Sheet2:
A B C
张三 语文
张三 化学
王五 政治
陈七 体育
李四 物理
李四 语文

然后我希望在 Sheet2 的 C1 位置添加的函数能够实现的功能是:(1)将Sheet2的A列的值和Sheet1的A列的值进行比较;(2)在(1)的基础上如果Sheet2的A列在Sheet1的A列找到有对应的值,则锁定下一步的查找范围为Sheet1A列的那个对应值所对应的那些行的B、C、D列,再将Sheet2的B列的值和对应的那些行的B、C、D列进行比较;(3)只有当(1)和(2)均能在Sheet1里找到对应的值时,才在Sheet2的C1位置返回Sheet1的E列中的某一个对应的值。

比如上面应用函数后Sheet2应该是这个样子:
A B C
张三 语文 数据1
张三 化学 #N/A
王五 政治 #N/A
陈七 体育 #N/A
李四 物理 数据3
李四 语文 数据4

求教这个函数该怎么写

第1个回答  2012-02-10
依照你举例的单元格位置,复制下面的公式到Sheet2!C1
=INDEX(Sheet1!E$1:E$5,MAX(IFERROR(MATCH(A1&B1,Sheet1!A$1:A$5&Sheet1!B$1:B$5,0),-1),IFERROR(MATCH(A1&B1,Sheet1!A$1:A$5&Sheet1!C$1:C$5,0),-1),IFERROR(MATCH(A1&B1,Sheet1!A$1:A$5&Sheet1!D$1:D$5,0),-1)))
按Ctrl+Sheft+Enter组合键{}完成数组公式,再向下面的单元格复制C1,但你要求#N/A只能显示#VALUE!。
第2个回答  2012-02-10
=LOOKUP(1,0/((Sheet1!A$1:A$6=A1)*FIND(B1,Sheet1!B$1:B$6&Sheet1!C$1:C$6&Sheet1!D$1:D$6)),Sheet1!E$1:E$6)
或者
=LOOKUP(1,0/MMULT((Sheet1!A$1:A$6=A1)*(B1=Sheet1!B$1:D$6),{1;1;1}),Sheet1!E$1:E$6)
更为简洁本回答被提问者采纳
第3个回答  2012-02-10
相似回答