EXCEL函数 符合条件取值,否则查找另一个符合条件的值
ABCDE……1张三339801202李四41246963王五222244654赵六1123321235四七343355666李四22334455……求:A5:A6中张三...
A B C D E ……
1 张三 3 39 80 120
2 李四 4 12 46 96
3 王五 22 22 44 65
4 赵六 11 23 32 123
5 四七 34 33 55 66
6 李四 22 33 44 55
……
求:A5:A6中张三相对应的B例值,如果没有符合条件的(即所选区域内没有“张三”),则求A1:A6中最后一个张三的对应的B例值,结果应显示为“3”
我用了LOOKUP函数,如果没有符合条件的值就会显示#N/A,请高手赐教! 展开
1 张三 3 39 80 120
2 李四 4 12 46 96
3 王五 22 22 44 65
4 赵六 11 23 32 123
5 四七 34 33 55 66
6 李四 22 33 44 55
……
求:A5:A6中张三相对应的B例值,如果没有符合条件的(即所选区域内没有“张三”),则求A1:A6中最后一个张三的对应的B例值,结果应显示为“3”
我用了LOOKUP函数,如果没有符合条件的值就会显示#N/A,请高手赐教! 展开
3个回答
展开全部
1,可以配合使用if,iserror这两个函数达到对#N/A的处理。
2,一般而言,最好使用 HLOOKUP 或 VLOOKUP 函数而不是 LOOKUP 的数组形式。LOOKUP 的这种形式是为了与其他电子表格程序兼容而提供的。
3,要寻找"最后"一个张三,则无法用lookup或vlookkup,因为它们找到的是第一个。可以使用if,max,row,index构建一个数组公式。思路是,统计这是第几个张三并组成数组,然后从数组中选取最大值,确定其行号,再找出B列相应行的值。
=IF(ISERROR(VLOOKUP("张三",A5:A6,1,0)),IF(ISERROR(VLOOKUP("张三",A1:A6,1,0)),"查无此人",INDEX(B1:B6,MAX(IF(A1:A6="张三",ROW(A1:A6),0)))),VLOOKUP("张三",A5:B6,2,0))
2,一般而言,最好使用 HLOOKUP 或 VLOOKUP 函数而不是 LOOKUP 的数组形式。LOOKUP 的这种形式是为了与其他电子表格程序兼容而提供的。
3,要寻找"最后"一个张三,则无法用lookup或vlookkup,因为它们找到的是第一个。可以使用if,max,row,index构建一个数组公式。思路是,统计这是第几个张三并组成数组,然后从数组中选取最大值,确定其行号,再找出B列相应行的值。
=IF(ISERROR(VLOOKUP("张三",A5:A6,1,0)),IF(ISERROR(VLOOKUP("张三",A1:A6,1,0)),"查无此人",INDEX(B1:B6,MAX(IF(A1:A6="张三",ROW(A1:A6),0)))),VLOOKUP("张三",A5:B6,2,0))
展开全部
利用lookup/vlookup/hlookup,经常搭配if(isna(lookup(...)),...,...),你可以试试。我觉得比较麻烦的是你说的“最后一个张三”,如果一定要最后一个,单用lookup还不够
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删)、excel样表文件(把现状和目标效果表示出来)作为附件发来看下 yqch134@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询