Excel怎么用数组公式从一列中提取非空单元格值
- 格式:docx
- 大小:12.20 KB
- 文档页数:2
Excel怎么用数组公式从一列中提取非空单元格值
如果不使用筛选,还可以用下面的数组公式:
假如数据在A2:A20区域中,将提取后的数据放到B列中,在B2
单元格中输入数组公式:
=INDEX($A$2:$A$20,SMALL(IF($A$2:$A$20="","",ROW($A$2:$A$ 20)-ROW($A$2)+1),ROW($A2)-ROW($A$2)+1))
公式输入完毕后按Ctrl+Shift+Enter结束,然后向下填充公式,直到出现“#NUM!”为止。
说明:
SMALL函数的语法为:
SMALL(array,k)
返回数据集“array”中的第“k”个最小值。
公式中SMALL函数的第一个参数
“IF($A$2:$A$20="","",ROW($A$2:$A$20)-ROW($A$2)+1)”产生一
个数组:
{1;"";"";4;"";"";7;8;"";"";11;12;13;"";"";"";17;"";19}
该数组中的数字为A2:A20区域中非空单元格对应的位置,而空
引号则对应区域中的空单元格。
第二个参数“ROW($A8)-ROW($A$2)+1”根据B列中单元格的位置依次返回“1”、“2”、“3”……
上述数组中,第1个最小值为“1”,第2个最小值为“4”,……。
这样就用SMALL函数“去掉”了数组中的空值,最后
用INDEX函数返回一列连续的非空单元格值。
本例由于A2:A20区域
中只有9个非空单元格,当SMALL函数的第2个参数为“10”时就
会出现错误,说明A列中的非空单元格值已返回完毕。
猜你喜欢:。