EXCEL:具有LEFT功能的INDIRECT

时间:2018-10-02 05:21:46

标签: excel excel-formula

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

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

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

=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))

反正有解决办法吗?

Sample Sheet

1 个答案:

答案 0 :(得分:1)

尝试¹,

=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"进行比较相同。


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