EXCEL多条件反向应用

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:10:49
大家好,我现在有这样一个问题,就是现在我有三列数据
A B C
A D B
C A E
…………
…………
我现在的目的就是根据B列和C列来显示A列,根据A,B列引用C列我会,但是反过来引用我就不会了,有哪位高手帮帮我啊,急,在线等
可能我说的不太明白,我在说一遍,假设我有三列数据分别在A,B,C列内容是
成绩 姓名 性别
90 张三 男
80 李四 女
85 王五 男
……
我的意思就是,在D1中输入姓名,在E1中输入性别 ,在F1中成绩就自动出来,我不知道现在我说的明白不

一般情况下只要姓名就可以引用了。
F1=INDEX($A$2:$A$100,MATCH(D2,B2:$B$100,))
如果非要加上性别
=INDEX($A$2:$A$100,MATCH(D2&E2,B2:$B$100&$C$2:$C$100,))
但已经变成数组公式了。数组公式要按Ctrl+Shift+Enter结束公式输入。
如果不想要数组公式
=SUMPRODUCT((B2:$B$100=D2)*($C$2:$C$100=E2)*$A$2:$A$100)
但这个公式要保证姓名加性别具有唯一性,否则就是求和了。
如果是用VLOOKUP
=VLOOKUP(D2&E2,IF({1,0},$B$2:$B$100&$C$2:$C$100,$A$2:$A$100),2,)
不过也是数组公式了。

没听明白你要达到什么目的

反过来也是一样的道理啊,不过要看真正的数据

你的意思很明白
但如果用Vlookup函数来做引用的话,这是没有办法实现的,因为Vlookup函数只能对比较列的右边的数据进行引用,对其左边的不能引用。很遗憾,别的函数我也想不到还有哪个可以实现你说的功能。不过我觉得实际工作中不必那么死板,你把数据源中的成绩列调到姓名的后边,你要的功能就很容易可以实现了,那样子的话性别也可以自动填出来。
假设A列是姓名,B列是成绩,C列是性别,则
在E1中输入公式:=VLOOKUP(D2,A:C,3,FALSE)
在F1中输入公式:=VLOOKUP(D2,A:B,2,FALSE)
这样你只要在D1中输入姓名之后就会在E1和F1中分别显示此人的性别和成绩。
当然前提是A列姓名中没有重复的