首页 > 解决方案 > EXCEL : 带有 LEFT 功能的间接

问题描述

在我的工作簿中,我有一张名为DayWise2019. 我正在尝试检查 B 列文本是否为SBI-OC 列前两个字符DB。如果匹配,我将 D 列的总和添加到另一个工作表 2019D5单元格。

这里的问题是我无法使用左公式来检查前两个字符C

如果我在 2019D5单元格中使用以下公式,则其计算值正确。

=SUMIFS(INDIRECT("'" & ShortCodes!$H$20 & "'!" & "D" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "D" &D$3),INDIRECT("'" & ShortCodes!$H$20 & "'!" & "B" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "B" &D$3),"SBI-O",INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$3),"DB-BAN")

但正如你所看到的,我在上面硬编码了“DB-BAN”。如果我用下面的左函数替换它

=SUMIFS(INDIRECT("'" & ShortCodes!$H$20 & "'!" & "D" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "D" &D$3),INDIRECT("'" & ShortCodes!$H$20 & "'!" & "B" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "B" &D$3),"SBI-O",INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$3),LEFT(INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$2):INDIRECT("'" & ShortCodes!$H$20 & "'!" & "C" &D$3),6))

有没有办法解决它?

样品表

标签: excelexcel-formula

解决方案


试试¹,

=SUMIFS(INDIRECT(TEXT(ShortCodes!$H$20, "'@'!\D")&D$2&":D"&D$3),
        INDIRECT(TEXT(ShortCodes!$H$20, "'@'!\B")&D$2&":B"&D$3), "SBI-O",
        INDIRECT(TEXT(ShortCodes!$H$20, "'@'!\C")&D$2&":C"&D$3), "DB-BAN*")

使用"DB-BAN*"作为标准与比较最左边的六个字符与"DB-BAN".


¹是的,您可以在公式栏中使用不同的行来排列公式的重要部分而不会造成损害。


推荐阅读