【问题标题】:Excel: SUMPRODUCT with wildcard not matching exact cell contentExcel:带有通配符的 SUMPRODUCT 与确切的单元格内容不匹配
【发布时间】:2020-07-02 18:15:36
【问题描述】:

我想根据特定标识符(例如 01、02_01 等)使用 SUMPRODUCT。到目前为止,我的解决方案如下所示:

=SUMPRODUCT(--(ISNUMBER(SEARCH("??",E2:E9)))*F2:F9*G2:G9)

现在,实际上我预计总和 1332 仅匹配第 2 行和第 7 行,但它匹配所有行。如何克服这种不受欢迎的行为? VBA 解决方案也可以。

提前致谢!

【问题讨论】:

  • =SUMPRODUCT(--(LEN(E2:E9)=2)*F2:F9*G2:G9)?
  • 不,很遗憾这不是我的解决方案。我还需要匹配 01_??或??_??。
  • 好吧,但我可以将它结合到:=SUMPRODUCT(--(LEN(E2:E9)=5)*--(ISNUMBER(SEARCH("01_??",E2:E9)))*F2:F9*G2:G9) 但它不是一个简洁的解决方案...... :(
  • ?? 匹配任意两个字符。
  • 我知道...我每天都在过滤器中使用它,过滤器会根据使用的通配符数量限制长度。而 SEARCH() 对长度不敏感,并且在使用 ?? 时会查找任何两个字符相等或更大的单元格。

标签: excel sumproduct


【解决方案1】:

您可以在前端和后端添加一些内容,以确保它看到的是整体而不是部分:

=SUMPRODUCT(--(ISNUMBER(SEARCH("|"&"??"&"|","|"&E2:E9&"|")))*F2:F9*G2:G9)

【讨论】:

  • 这很优雅。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多