分享

Excel公式技巧02: INDEX函数,有时可替代数组公式

 hercules028 2020-02-07

excelperfect

我们知道,数组公式在输入完后必须按Ctrl+Shift+Enter键来强制公式为数组公式。然而,我们已经习惯了在输入完后直接按Enter键,有没有一些技巧能够避免按Ctrl+Shift+Enter键但又能够达到数组公式的效果呢?

在上一篇文章中,我们讲解了通过适当设置参数可以让INDEX函数返回整行或整列,这表明INDEX函数可以强制返回数组来传递给另一个函数。否则,该函数就需要作为数组公式,也就是说在公式输入完后要按Ctrl+Shift+Enter键。

下面举一个例子来说明。

例如,要求列A中的单元格区域A1:A10中第一个非空单元格的相对位置。如果使用公式:

=MATCH(TRUE,A1:A10<>'',0)

将返回#N/A,如下图1所示。(说明:在Office 365中,已增加这种自动转换功能。如果你使用的是Office 365,结果可能与这里的不同)

1

必须采用数组公式输入才能得到正确结果,即输入完后要按Ctrl+Shift+Enter键,如下图2所示。

2

无需数组公式,使用INDEX函数可以得到相同的结果:

=MATCH(TRUE,INDEX(A1:A10<>'',,),0)

如下图3所示。

3

在公式中,忽略了行参数和列参数,这将强制INDEX函数返回整个“列”区域。这里的列不是工作表单元格区域A1:A10,而是由10个布尔值组成的列数组:

=MATCH(TRUE,INDEX({FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE},,),0)

转换为:
=MATCH(TRUE,{ FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE},0)

返回结果3

注意,如果想避免Ctrl+Shift+Enter而使用INDEX函数,会使公式变得更长,也会占用更多的Excel资源。然而,我们可以将这个技术作为数组公式的替代方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多