前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式技巧02: INDEX函数,有时可替代数组公式

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

作者头像
fanjy
发布2020-02-18 12:16:55
1.2K0
发布2020-02-18 12:16:55
举报
文章被收录于专栏:完美Excel

我们知道,数组公式在输入完后必须按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资源。然而,我们可以将这个技术作为数组公式的替代方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档