|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
不是太明白,不过是不是只要把 合并单元格的问题解决 就容易了- =LOOKUP(ROW(B3:B14),IF(ISBLANK(A3:A14),FALSE,ROW(A3:A14)),A3:A14)
复制代码 这个公式可以将合并单元格转换为一般的数组。
这种思路的最后结果为- =MAX((LOOKUP(ROW(B3:B14),IF(ISBLANK(A3:A14),FALSE,ROW(A3:A14)),A3:A14)="B")*(B3:B14=1016)*ROW(B3:B14))
复制代码 ==================================================================================
细腻解析:
大家体会到了这个技巧就能写出很多有新意的公式,比如大家常写一个公式用于返回满足条件的最后一个数据,形状类似:LOOKUP(1,0/条件设置,数据)。这个公式的关键在于 "0/条件设置",能产生两种类型的数据,数值(0)和错误值,原理就在这里。但0/条件设置 总感觉不是那么好读,这种地方可以用IF函数来替代,用TRUE或FALSE两个分别生成两种类型的数值即可(数据类型:错误值,文本,逻辑值,数值),把满足条件的设置为一种,不满足的设置为另一种,查找的使用用一个足够大的类型为满足条件的那种类型区查好即可。
当然啦,最后一个满足条件的数据还有更通用的方式。这里只是分享一下查找是能自动根据 查找值 的数据类型自动忽略查找区域其他类型的特性。比如这个公式- =LOOKUP(TRUE,{1;0;FALSE;0;FALSE;5},ROW(1:6))
复制代码 这里查找值为TRUE,于是限定了查找类型为逻辑值,查找区域有数值和FASLE,显然TRUE是足够大的(相对于FALSE),与是否返回最后一个FALSE对应的数值5。这里只是为了说明参数类型自适应的现象。
这里是LOOKUP中,我想VLOOKUP应该也会表现差不多的特性,不如超找文本的时候自动忽略数值什么...
[ 本帖最后由 胡剑0227 于 2011-5-6 10:54 编辑 ] |
评分
-
3
查看全部评分
-
|