Excel公式技巧100:遍历单元格中的数据

2021-07-30 09:57:22 浏览数 (1)

有时候,我们需要从单元格数据中提取出满足条件的值。例如,下图1所示的单元格B3中的数据“NO13859724621”,我们想要得到相邻两个数字组成的最大的两位数。

图1

很显然,这个两位数应该是“97”。然而,怎么样使用公式获得这个值呢?

这就涉及到需要找到一种方法,从数据的开头开始,两个两个地取值,从而遍历整个数据,然后比较这些值,获取其中最大的值。

很自然地,我们能够想到MID函数,指定开始位置和字符数,从而返回指定字符数的值。这样,我们使用下面的数组公式:

=MAX(IFERROR(VALUE(MID(B3,ROW(A1:A100),2)),""))

结果如下图2所示。

图2

公式中:

MID(B3,ROW(A1:A100),2)

从单元格B3中的第一个字符开始,按顺序依次获得两个字符组成的数值,如下图3所示。

图3

传递到VALUE函数中,将代表数值的文本字符串转换为数值,如下图4所示。

图4

IFERROR函数将错误值#VALUE!转换成空,如下图5所示。

图5

传递给MAX函数,获得最大值:

97

小结

1.利用MID函数,可以遍历单元格内部的数据。

2.上述公式中,使用了ROW(A1:A100),假设单元格数据长度为100,其实可以使用下面的数组公式:

=MAX(IFERROR(VALUE(MID(B3,ROW(INDIRECT("1:"& LEN(B3))),2)),""))

更精确地获取中间数组。

0 人点赞