本文总共1067个字,阅读需4分钟,全文加载时间:2.457s,本站办公入门专栏收录该内容! 字体大小:

文章导读:昨天有个小伙伴私信我,如何用公式从某个数据区域中获取非空单元格的数值。他的问题大致是这样子的:下图中A1:A10是数据区域,从这个数据区域中用公式拿到非空单元格的数据,也就是C1:C7单元格区域显示的结果。该……各位看官请向下阅读:

昨天有个小伙伴私信我,如何用公式从某个数据区域中获取非空单元格的数值。他的问题大致是这样子的:下图中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”回车即可。

六、动图演示如下。

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

觉得文章不错,请(CTRL+D)收藏本网站,并点击本站顶部导航“视频教程”获取最新办公技巧哦!您的不断支持就是小编继续写出优质教程的动力!

关注本站,每天都可以让你学到一个实用的办公技巧,提升你的办公效率!

以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!

你可能对这些文章感兴趣:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注