我们知道,数组公式在输入完后必须按Ctrl Shift Enter键来强制公式为数组公式。然而,我们已经习惯了在输入完后直接按Enter键,有没有一些技巧能够避免按Ctrl Shift Enter键但又能够达到数组公式的效果呢?
在上一篇文章中,我们解了通过适当设置参数可以让INDEX函数返回整行或整列,这表明INDEX函数可以强制返回数组来传递给另一个函数。否则,该函数就需要作为数组公式,也就是说在公式输入完后要按Ctrl Shift Enter键。
下面举一个例子来说明。
例如,要求列A中的单元格区域A1:A10中第一个非空单元格的相对位置。如果使用公式:
=MATCH(TRUE,A1:A10<>””,0)
将返回#N/A,如下所示。(说明:在Office 365中,已增加这种自动转换功能。如果你使用的是Office 365,结果可能与这里的不同)
必须采用数组公式输入才能得到正确结果,即输入完后要按Ctrl Shift Enter键,如下所示。
excel图表统计至少在一列中满足条件的行数
在这篇文章中,探讨一种计算在至少一列中满足规定条件的行数的解决方案,示例工作表如下所示,其中详细列出了各个国家在不同年份废镍的出口水平。 假设我们希望确定2004年出口总额大于或等于1000的国家的数量,可以使用公式: =COUNTIF(B2:B14,'>=1000') 或者: =SUMPRODUCT
无需数组公式,使用INDEX函数可以得到相同的结果:
=MATCH(TRUE,INDEX(A1:A10<>””,,),0)
如下所示。
在公式中,忽略了行参数和列参数,这将强制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资源。然而,我们可以将这个技术作为数组公式的替代方法。
excel图表怎么从列表中返回满足多个条件的数据
在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 解决方案1: 在单元格F2中输入数组公式: =INDEX(C2:C10,MATCH(MAX(IF(A2:A10=F1,B2:B10)),