0

我有以下功能很好,但是它返回的数据不是我想要的。

=IF(COLUMNS($R$2:R2)<=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,3,FALSE),INDEX([Sample.xls]Sheet1!$G$2:$G$116,SMALL(IF([Sample.xls]Sheet1!$B$2:$B$116=VLOOKUP($A2,[Sample.xls]Sheet1!$I$2:$K$27,1,FALSE),ROW([Sample.xls]Sheet1!$B$2:$B$116)-ROW([Sample.xls]Sheet1!$B$2)+1),COLUMNS($R$2:R2))),0)

如果我使用一个单独的函数,例如下面的函数,它会给我数据,而不是其他函数中的验证。如何结合这两个功能?

=INDEX([Sample.xls]Sheet1!$G$2:$G$116,MATCH(D2,[Sample.xls]Sheet1!$C$2:$C$116,0))

编辑

样本数据看起来像

Column1      Column2      Column3      Column4      Column5      Column6      Column7      Column8      Column9

   1      Label        System       Name         Total        GB           Available     GB          Server
   1      Label        System       Name         Total        GB           Available     GB          Server
   1      Label        System       Name         Total        GB           Available     GB          Server

然后,一旦我匹配具有相应标签的结果工作表中的标签,我就会获取该数据的一部分,例如 Total。标签具有重复值,例如 Windows

4

1 回答 1

1

根据我们的聊天,我认为您正在尝试执行以下操作:

Given two different values (labels) corresponding to two different columns, 
sum the data in a third column.

如果我理解正确的话,这就像一个“复合 SUMIF”。在这种情况下,您要做的是创建一个0s 和1s 的数组,对应于您要包含/排除的行,然后对SUMPRODUCT您要求和的列执行 a 。

现在我们可以使用 ARRAY FORMULA 来生成这样的数组。这是一个简单的示例:假设这些单元格是A1:C6

label   system   space
 one     a          1
 one     b          2
 one     a          4
 two     b          8
 two     a         16

现在我们可以创建一个“复合汇总表”,同时查看“标签”和“系统”,如下所示(假设它们以label单元格开头A9

label   system  total space
 one       a        5
 one       b        2
 two       a       16 
 two       b        8

您使用的公式C10

=SUMPRODUCT(IF($A$2:$A$6=A10,1,0)*IF($B$2:$B$6=B10,1,0),$C$2:$C$6)

您作为数组公式输入 (CTRL-SHIFT-ENTER)。然后将其拖动到单元格 C11-13。这会按照我的解释执行计算。你可以从这里装饰。

让我知道我是否正确解释了这一点?

于 2013-10-08T03:13:31.557 回答