出于任何原因,如果要对具有特定索引的范围执行某些操作,您将考虑使用INDEX函数获取特定索引上的值数组。像这样。

Index with INDEX

让我们通过一个例子来理解它。

在这里,我有一个“费率”列。我想对位置1,3和5的值求和。我在C2中编写此公式。

令人惊讶的是,当我们提供数组作为索引时,INDEX函数不会返回值数组。我们只获得第一个价值。 SUM函数仅返回一个值的和。

=SUM(INDEX(A2:A11,{1,3,5}))

那么我们如何获得INDEX函数返回该数组。好吧,我在互联网上找到了这个解决方案,但我不太了解它是如何工作的,但是它可以工作。

0081

获取索引数组的通用公式

范围:这是您要在给定索引号中查找的范围。数字:这些是索引号。

=SUM(INDEX(range,N(IF(1,{numbers})))

现在,将上面的公式应用于我们的示例。

在C2中编写此公式。

并且这将返回正确的答案为90。

=SUM(INDEX(A2:A11,N(IF(1,{1,3,5})))

工作原理。

0082

好吧,正如我所说的,我不知道为什么它会返回数字数组,但是在这里会发生什么。

link:/ tips-if-condition-in-excel [IF](1,\ {1,3,5}):

这部分按预期返回数组\ {1,3,5} N(link:/ tips-if-condition-in-excel [IF](1,\ {1,3,5}))

这将转换为N(\ {1,3,5}),这再次给我们\ {1,3,5} NOTE:N函数返回等于任何值的数字。如果值不是数字可转换值,则返回0(如文本)。对于错误,它返回错误。

| link:/ lookup-formulas-excel-index-function [INDEX]((A2:A11,N(link:/ tips-if-condition-in-excel [IF](1,\ {1,3 ,5}))):

转换为`link:/ lookup-formulas-excel-index-function [INDEX]`(((A2:A11,\ {1,3,5})

并以某种方式返回数组\ {10,30,50}。正如您先前在编写`link:/ lookup-formulas-excel-index-function [INDEX]`((A2:A11,\ { 1,3,5})

直接在公式中仅返回10,但是当我们使用N和IF函数时,它将返回整个数组。如果您理解它,请在下面的注释部分告诉我。

|||| ===如何在索引值中使用单元格引用来获得数组

在上面的示例中,我们在函数中对索引进行了硬编码,但是如果我想从a中获得它,该怎么办| {||||在这里,我们在单元格D2中具有以下公式:

这将返回10。给定索引的第一个值。即使我们使用CTRL + SHIFT + ENTER将其作为数组公式,它会得到相同的结果。

为了使其正常工作,请在范围前添加+或-(双一元)运算符,并将其作为数组公式输入。

0083

这可行。不要问我如何?它只是工作。如果您能告诉我,我将如何在此处包括您的姓名和说明。

=SUM(INDEX(A2:A11,N(IF(1,A2:A5)))

因此,我们学习了如何从INDEX函数获取数组。 Excel中有一些疯狂的事情正在发生。如果您可以在下面的评论部分中解释它的工作原理,请在解释中加入您的名字。

下载文件:

{=SUM(INDEX(A2:A11,N(IF(1,+A2:A5)))}

Index with INDEX