Excel索引/ Sumproduct函数错误

时间:2018-08-08 05:11:04

标签: excel

我在excel中遇到公式问题,如下所示:

@Data
public class ResponseJson implements Serializable {
    private List<String> names;
}

entity ResponseJson{ names String } 范围采用以下格式

=INDEX(Sheet2!$A$4:$AZ$11,$F6,SUMPRODUCT((Sheet2!$F$18:$F$30=$I$4)*(Sheet2!$G$18:$G$30=$D6)*(Sheet2!$H$18:$H$30)))

此公式在我将其应用到的第一列中效果很好,但是当我将其应用到需要填充的下一列时,它将无法正常工作。

error image

我在图片中同时显示了工作单元(顶部)和错误单元(底部)中的公式。顶部的单元格正确地返回了0的结果,因为没有匹配项,从而允许我的F:H函数(此函数嵌套在其中)使用零来根据需要填充单元格。但是,即使行和列引用相同(行为1,列为0),第二个公式也会从Criteria 1 | Criteria 2 | Column Value string | string | number 范围的第1列第1行返回一个值。

为什么会这样?

EDIT _____________

该公式查看单元格IFA4:AZ的值,并将它们与I4范围进行比较 D6符合标准1,F:H符合标准2

这应该在I4列中查找Number。该数字是D6范围内的列参考号。该数字与H中的值相结合,为索引函数提供了行和列的引用。

A4:AZ11F6比较中没有匹配项时,I4函数应返回值0,就像在附件中的第一个示例中一样。但是它将返回A4中的值。

我还刚刚注意到,当我在工作表中插入一列时(在C列的上方),该论坛提供的值从D6值变为SUMPRODUCT

1 个答案:

答案 0 :(得分:0)

我所做的是尝试在一张纸(而不是两张纸)上重新创建您的情况:

enter image description here

您在这里看到的基本上是公式:

{=INDEX(A:M,F6;INDEX(H18:H30,IFERROR(MATCH(I4&D6,F18:F30&G18:G30,0),0),1))}

公式明细:

1)。这部分将在您的范围F2:G37中查找,返回具有匹配项的行,而IFERROR将返回0:

=IFERROR(MATCH(I4&D6,F18:F30&G18:G30,0),0)

2)。然后,下一部分将通过INDEX在范围H18:H30第1列中查找对应的值:

=INDEX(H18:H30,IFERROR(MATCH(I4&D6,F18:F30&G18:G30,0),0),1)

3)。接下来,我们可以使用单元格F6中的值在下一个索引中使用此值。就我而言,我使用范围A:M将所有内容都显示在一个屏幕上。显然要调整此范围:

=INDEX(A:M,F6;INDEX(H18:H30,IFERROR(MATCH(I4&D6,F18:F30&G18:G30,0),0),1))

4)。通过 Ctrl + Shift + Enter 确认公式。

在我的情况下,它将从cells(12,7)返回值。如果找不到步骤1中的匹配项,它将返回0!