【问题标题】:Excel Sumifs searching first 8 characters of a columnExcel Sumifs 搜索列的前 8 个字符
【发布时间】:2021-06-21 21:20:14
【问题描述】:

大家晚上好,

我想做一个 sumifs() 但两列并不总是具有完全相同的值。但是,前 8 个字符在两列中始终匹配。例如,我希望查找的值是“00123456 - Nice Salad”。我希望在其中搜索的数据位于 A 列中,并在 B 列中返回值。

我知道我可以在值上使用 left() 函数进行查找,但我不确定如何最好地搜索 A 列中的前 8 个字符。我希望公式从 B 列中返回数字 6这个例子。

当前公式如下:=sumifs(left(00123456 - Nice Salad,8),A:A,B:B)

我希望这一切都是有意义的,任何帮助都值得赞赏。

非常感谢,艾伦。

【问题讨论】:

  • =SUMIFS(B:B,A:A,"00123456*")
  • 简单...然而天才...值得作为答案来帮助将来的人吗?

标签: excel excel-formula


【解决方案1】:

截图/this表参考:

一种方法是使用常规求和方程:

=SUM(1*(LEFT(A2:A4,8)=E2)*(B2:B4))

但是,这可能是计算密集型的(即,如果您有大量数据/行要评估)。在我看来,更好的是简单的带有通配符“*”的 sumif,即:

=SUMIFS(B2:B4,A2:A4,E2&"*")

【讨论】:

  • 有没有办法用 xlookup 实现相同的概念?
  • 嗨@Alan Tingey - 也许其他人更聪明:xlookups 但据我所知它可以返回数组,并且可以使用通配符(所以似乎有希望..)但无法区分多个“公共值” - 即数组仅在查找值不同/唯一时返回。我的一些简短实验证实了这一点 - 所以,除非我不知道一些漂亮的“技巧” - 我会说“不容易”...有关 xlookups 的有用视频请参见此处:youtube.com/watch?v=2ViMm-wuM3U
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多