加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

如何从下向上查找报表,返回多个满足条件记录中的最后一条?

(2012-12-19 12:56:30)
标签:

逆向查找

lookup

0/

从下往上

二分法

分类: 实例解析
【问题】如何从下向上查找报表,返回多个满足条件记录中的最后一条?微博链接

【思路】

1、用A$2:A$10=A15部分对产品种类进行条件判断,返回由逻辑值组成的数组{TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE}

2、由于逻辑值参与运算时分别将true和false转换为1和0,所以用0/条件返回由0和错误值组成的数组{0;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;0;#DIV/0!;0}

3Lookup查找时兼容错误值,在第二步返回的数组中查找1,由于各元素都比1小,Lookup找不到查找值时,根据数组中小于查找值的最大值返回匹配值。

4、由于数组中有多个0满足条件,Lookup按照二分法返回满足条件的记录中的最后一条。


 

通用公式=Lookup(1,0/((条件1)*(条件2)*...*(条件n)),数据区域)


注意使用此通用公式时,Lookup的第一参数要大于第二参数的所有元素才能保证结果正确。

正确:=Lookup(2,1/((条件1)*(条件2)*...*(条件n)),数据区域)

错误:=Lookup(0,0/((条件1)*(条件2)*...*(条件n)),数据区域)


【公式】

=LOOKUP(1,0/(A$2:A$10=A15),C$2:C$10)


附件下载:从下向上查找报表返回多个满足条件记录中的最后一条

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有