快好知 kuaihz订阅观点

 

如何用Excel公式提取非空单元格的数值?这里...

昨天有个小伙伴私信我,如何用公式从某个数据区域中获取非空单元格的数值。他的问题大致是这样子的:下图中A1:A10是数据区域,从这个数据区域中用公式拿到非空单元格的数据,也就是C1:C7单元格区域显示的结果。该如何实现呢?

解决该问题的思路并不难,我们要先把A1:A10单元格区域中非空单元格的行号找到并获取到,然后使用INDEX函数取出对应的值即可。

具体操作步骤如下:

一、找到非空单元格所在的行号

选中E1:E10单元格 -- 在编辑栏中输入公式“=IF(A1:A10<>"",ROW(A1:A10))” -- 按“Ctrl+Shift+Enter”回车。

公式的意思是:将A1:A10单元格区域的值与空值进行比较,如果不为空,则显示相应非空单元格数值所在的行号,如果为空,则显示为FALSE。

二、获取已经找到的非空单元格所在的行号

选中F1:F10单元格 -- 在编辑栏中输入公式“=SMALL(E1:E10,ROW(A1:A10))” -- 按“Ctrl+Shift+Enter”回车。

公式的意思是:ROW(A1:A10)公式得到一个行号的数组{1;2;3;4;5;6;7;8;9;10},用SMALL函数在E1:E10数据区域中按从小到大的顺序取出第1至第10小的值。

三、获取非空单元行号对应的值。

选中G1:G10单元格 -- 在编辑栏中输入公式“=INDEX(A1:A10,F1:F10)” -- 按“Ctrl+Shift+Enter”回车。

公式的意思是:INDEX函数分别取出A1:A10数据区域中第1、3、4、6、7、10行的数据。从上图可以看到,单元格为空的数据取出来的值为错误值,所以要把这些错误值给屏蔽。

四、屏蔽错误值。

选中H1:H10单元格 -- 在编辑栏中输入公式“=IFERROR(G1:G10,"")” -- 按“Ctrl+Shift+Enter”回车。

公式的意思是:如果G1:G10数据局区域中有错误值,则返回空值,否则返回公式的结果。

五、组合公式。

选中C1:C6单元格 -- 在编辑栏中输入公式“=IFERROR(INDEX(A1:A10,SMALL(IF(A1:A10<>"",ROW(A1:A10)),ROW(A1:A10))),"")” -- 按“Ctrl+Shift+Enter”回车即可。

上述操作中,有什么不懂之处可以在评论区留言哦!

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:何用  何用词条  数值  数值词条  公式  公式词条  提取  提取词条  单元  单元词条  
办公

 这4个Excel冷技巧,专治各种...

1、数字无故变金额这个问题很多小伙伴都遇到过,好端端的Excel文档打开后,里面的数字都变成会计金额或是欧元格式了。其实,这是在工作表中使用自定义格式留下的后遗...(展开)

办公

 17 个 Excel 打印技巧,...

首先倡导大家尽量绿色办公、健康环保,如非必要,尽量查看电子表格。当然,工作中总是免不了有非打不可的表格,特别是一些需要物理存档、老板签字的。那么,问题来了,Ex...(展开)