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

时间:2015-01-12 01:10:12

标签: excel excel-formula array-formulas

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

First     Last     Sales     Months
Kevin     Smith    $500      10
Joe       Stevens  $400      6
Frank     Doe      $600      4

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

现在让我说我有这个清单

Kevin Smith
Frank Doe

我想在一个单独的单元格中总结他们的销售/月份。

我试过了:

  

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

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

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

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

  

= SUM(SUMIF(初,FirstNameSubSet,销售))

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

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

我尝试过发布图片,但即使我已经在网站上阅读了很长一段时间的答案,我也从来没有发布任何内容,所以我没有'声誉'。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

另外需要注意的是,如果您只是避免使用计算单元格/列进行外观,则可以将它们放在隐藏的单独工作表上。

我会将此作为评论添加,但没有足够的声誉。

答案 1 :(得分:0)

如果全名也在两个单独的单元格中,那将会简单得多。您可以使用简单的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。