|
楼主 |
发表于 2015-2-10 05:44
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 胡剑0227 于 2015-2-10 05:46 编辑
EdwardGrieg 发表于 2015-2-9 11:48
胡版辛苦了!
我有一个小问题:为什么index函数外面要套一个if(1,)函数呢?例如=IF(1,INDEX($A$1 ...
这里的内容在技术上确实很复杂。
IF在这里的用法我也是实践中体会出来的,实践告诉我IF的这个用法可以为公式 争取 更多的资源(时间,计算需要时间,或其他我还不了解的什么)。
INDEX($A$1:$B$10,N(IF(1,{1;2;3})),0),注意这里INDEX第二参数是一个数组{1;2;3}。
=INDEX(A1:B10,1,0)返回的是一整行,那么INDEX(A1:B10,{1},0)返回的是一个数组,其元素是 一个整行。这里是关键。
好比,OFFSET一般的用法是返回一个区域,如果是数组的用法那么返回的是一组区域,或者说是由区域构成的一个数组。OFFSET的情况你可以用SUBTOTAL函数去测试。
INDEX的这个情况深入的探索在我另一个帖:名字好像是 熬枯寒夜的灯油?我找找看http://club.excelhome.net/thread-987388-1-1.html
INDEX既然返回的是一个 以数组为元素的数组,那么不用IF函数那么按数组机制 第一个元素(这里是数组)就对应第一个单元格,即把一个数组赋值到了一个单元格,其实装不下的,就返回了这个数组的第一个元素。你看上去就是第一列。
|
|