Excel公式可根据其他单元格计算值

时间:2019-10-28 11:22:29

标签: excel excel-formula

我有下表: enter image description here

我在column F中使用以下公式来获取column E中的值之和:=SUMIFS(E:E,C:C,LEFT(TRIM(RIGHT([@[Object Name]],LEN([@[Object Name]])-FIND("=",[@[Object Name]]))),4),A:A,INT([@[Result Time]])),但没有似乎有效。

计算公式可得出以下结果: enter image description here

有人可以请客吗

1 个答案:

答案 0 :(得分:3)

您正在寻找一个名称为“ T054”的对象,当它们看起来都为“ CELL = T054CID” ...因此没有返回任何结果。

您到底想做什么?

您有不能做的任何理由吗?

=SUMIFS([3G_Traffic_CS],[Object Name],[@[Object Name]],[Result Time],[@[Result Time]])

enter image description here

您还将注意到,我只引用表中的列单元格,而不引用整个列。这样会更有效,并且可以避免计算出现在表下方的所有多余值(不太可能,但并非不可能)。

替代(使用助手列)

添加一个包含“对象名称”的修剪值的帮助器列,并与之进行比较:

=SUMIFS([3G_Traffic_CS],[Trimmed Object Name],[@[Trimmed Object Name]],[Result Time],[@[Result Time]])

enter image description here

另一种替代方法(使用FINDSUMPRODUCT

如果要包含修剪的值包含的任何对象名称,则可以使用FIND函数和SUMPRODUCT来完成:

=SUMPRODUCT(
    ([Result Time]=[@[Result Time]])*
    (ISNUMBER(
        FIND(LEFT(TRIM(RIGHT([@[Object Name]],LEN([@[Object Name]])-FIND("=",[@[Object Name]]))),4),
            [Object Name]
        )
    ))*
    [3G_Traffic_CS]
)

enter image description here

还有其他选择(根据@Jvdv的评论使用通配符)

同样,这假设您要包含所有包含您修剪的站点ID的对象名称。只需在修剪的对象名称的开头和结尾添加“ *”即可。

=SUMIFS([3G_Traffic_CS],
    [Object Name],
    CONCAT("*",
        LEFT(TRIM(RIGHT([@[Object Name]],LEN([@[Object Name]])-FIND("=",[@[Object Name]]))),4),
        "*"
    ),
    [Result Time],
    INT([@[Result Time]])
)

enter image description here