手机版

excel函数如何删除单元格后的值?

时间:2021-09-13 来源:互联网 编辑:宝哥软件园 浏览:

excel函数如何删除单元格后的值?Excel函数在删除单元格区域的空单元格后得到该值,如下图1所示。C列有很多空单元格,按公式排序,空单元格去掉,值放在D列.

图1

你自己试试。

公式

在“D2”单元格中,输入数组公式:

=IFERROR(OFFSET($C$2,SMALL)(IF((List)1,ROW(List),""),ROW(E1))-2,0),"")

直到下拉单元格为空。

公式中的列表是名称,引用C列中的单元格区域C2:C10000.

公式分析

主要看公式:

偏移量(2加元,小(中频(列表)1,行(列表),""),行(E1))-2,0)

OFFSET函数的语法是:

OFFSET(引用、行、列、[高度]、[宽度])

对应于公式:

参数引用的值为:$C$2。

参数row的值很小(if (list) 1,row (list),""),row (E1))-2。

参数cols的值为0。

也就是说,OFFSET函数返回小的单元格区域(if ((list) 1,row (list),""),row (E1))-从单元格C2往下2行。

关注:

小型(中频(列表)1,行(列表),""),行(E1))-2

我们希望从IF((列表)1,ROW(列表),"")和ROW(E1)=1中得到第一个ROW(E1)的较小值,即最小值。

对于IF((List)1,ROW(List),""),因为List是一个有9999行1列的区域,所以。

(清单)1

解析为由9999行和1列组成的数组,由真/假值组成。如果c列中单元格的值大于1,则返回TRUE否则,返回FALSE,并在工作表中演示,如下图2所示。

图2。

而ROW(List)是由第2行到第10000行的行号组成的数组。

然后,IF语句生成的数组由c列值对应的行号和空格组成,即:

{2;"";"";"";6;7;8;"";"";"";"";13;14;15;…}

因此,它显示在下面工作表的图3中。

图3。

将上面生成的数组替换为SMALL函数:

小(如果((列表)1,行(列表),""),行(E1))

那就是:

SMALL({ 2;"";"";"";6;7;8;"";"";"";"";13;14;15;…},1)

获取:

2

当公式被下拉时,ROW(E1)将自动更新为ROW(E2)、ROW(E3)、…等。即返回值2,3,…,并获取数组中的第二个最小值,第三个最小值,…。

因此,它显示在下面工作表的图4中。

图4

这样,单元格D2中的公式最终相当于:

抵销(2,2-2,0加元)

获取C2细胞中的值。

单元格D3中的公式最终等效于:

抵销(2,6-2,0加元)

获取C6细胞中的值。

单元格D4中的公式最终相当于:

抵销(2,7-2,0加元)

获取单元格C7中的值。

等等。

版权声明:excel函数如何删除单元格后的值?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。