本文作者:office教程网

excel用数组公式从一列中提取非空单元格值

office教程网 2024-11-30 01:44:55
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

如果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函数的语法为:

如何在excel单元格中强制换行公式返回的结果?

大家知道,在Excel中按Alt Enter可以将单元格中的内容从指定的位置强制换行,但如果单元格内不是手动输入的内容,而是公式返回的结果,要从某处进行换行,该如何操作呢? 可以使用CHAR函数来实现换行效果,即在公式中用“CHAR(10)”来插入一个换行符。例如A2单元格中的内容为&ldquo

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列中的非空单元格值已返回完毕

类似VLOOKUP函数能区分大小写查询的公式

在Excel中用VLOOKUP、HLOOKUP、LOOKUP等函数进行查询时,是不区分大小写的。例如在下图中要B列中查找“108-d”所对应的数值。 如果用公式: =VLOOKUP("108-d",A2:B5,2,0) 将返回数值“10”,而不是&l

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:excel用数组公式从一列中提取非空单元格值发布于2024-11-30 01:44:55
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: