当函数参数包含函数时对查找结果求和

Summing the results of a lookup when the function arguments contain functions

我的问题很具体,但我一直找不到解决方案。这是一个说明问题的示例数据集:

First     Last     Sales     Months
Kevin     Smith    0      10
Joe       Stevens  0      6
Frank     Doe      0      4

我正在寻找一种在最终结果中不涉及任何计算列或单元格的解决方案。

现在假设我有这个列表

Kevin Smith
Frank Doe

我想在一个单独的单元格中汇总他们的 sales/month。

我试过:

=SUM(SUMIF(CONCATENATE(First, " ", Last),FullNames,Sales/Month))

数据存储在第 1-3 行,其中 A 列是名字,B 列是姓氏,C 列是销售额,D 列是月份。全名在 A5 和 A6 中。

当我应用该功能时,我尝试了 EnterCtrl+Shift+Enter

奇怪的是,这个公式有效:

=SUM(SUMIF(First,FirstNameSubSet,Sales))

当我不在公式中进行任何数组连接或除法时。

不幸的是,在我的现实生活中,我无法使用此解决方法。

我试过张贴图片,但尽管我已经在这个网站上阅读了很长时间的答案,但我从来没有张贴过任何东西,所以我没有 'reputation.'

预先感谢您的帮助。

您希望结果全部在一个单元格中,还是在每行一个单元格中?如果不是,我不确定您为什么要添加一列 (A1:A3)。

另外请注意,如果您只是为了避免外观的计算 cells/columns,您可以将它们放在一个单独的 sheet 上,它是隐藏的。

我会把它添加为评论,但没有足够的声誉。

如果全名也在两个单独的单元格中,会简单得多。您可以使用简单的 SUMIFS。但是对于你提出的问题,如果我理解的话,给出如下:

  • First 是包含名字的命名范围
  • Last 是包含姓氏的命名范围
  • Sales 是包含销售额的命名范围
  • Month 是包含月数的命名范围。
  • Fullnames 是包含全名(名字和姓氏的组合)的命名范围

那么下面的数组输入公式(通过按住 ctrl-shift 的同时点击 enter 输入的公式)应该产生每月的销售额

=SUM(SUMIFS(Sales,First,LEFT(FullNames,FIND(" ",FullNames)-1),Last,MID(FullNames,FIND(" ",FullNames)+1,99)))
/SUM(SUMIFS(Months,First,LEFT(FullNames,FIND(" ",FullNames)-1),Last,MID(FullNames,FIND(" ",FullNames)+1,99)))

如果您需要名称比较不区分大小写,请在公式中将 FIND 更改为 SEARCH。