当函数参数包含函数时对查找结果求和
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 中。
当我应用该功能时,我尝试了 Enter 和 Ctrl+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。
我的问题很具体,但我一直找不到解决方案。这是一个说明问题的示例数据集:
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 中。
当我应用该功能时,我尝试了 Enter 和 Ctrl+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。