说说关于ROW(1:1)的看法,与楼主提的ROWS()无关
ROW(1:1)的最简单的用法如下:
A1:A10里存放了10个数字,要在B11:B20里把它从小到大排列出来,有以下几个写法(自定义名称DATA1=A1:A10):
1, SMALL(DATA1,ROW(A1)),下拉
2, SMALL(DATA1,ROW(1:1)),下拉
3, SMALL(DATA1,ROW(INDIRECT("A"&ROW()-19))),下拉
4, 多单元格数组公式:SMALL(DATA1,ROW(INDIRECT("1:10"))
5, 多单元格数组公式:SMALL(DATA1,ROW(DATA1))
哪个好用?
公式1和2,3的计算速度应该比4和5要慢,因为它有10个公式,要计算10次,而后两个公式只计算一次,就填入10个单元格;另外,更致命的是,一旦删除数据区的某一行,将造成显示结果错误。
公式4与5,删除数据区不会造成错误,速度块。
而公式4与5相比:公式4使用了易失函数,会引发大量的重算,速度也受到很大影响,而公式5则没有这个问题。
结论:多单元格数组公式:SMALL(DATA1,ROW(DATA1))是最好的。 |