Pon*_*ars 5 excel sum excel-formula
我能够构建一个完全符合我想要的公式(从一些例子中),但是,我无法弄清楚它究竟是如何工作的.我有,从单元格A1开始:
Price $
table 20
chair 10
Invoice Quantity
table 17
chair 1
chair 2
table 3
Run Code Online (Sandbox Code Playgroud)
我想要的是发票的最终总数(430),按每个项目的数量*价格计算(17*20 + 1*10 + 2*10 + 3*20).以下公式正确地执行此操作:
=SUMPRODUCT(B6:B9,SUMIF(A2:A3,A6:A9,B2:B3))
Run Code Online (Sandbox Code Playgroud)
我理解SUMPRODUCT和SUMIF的基础知识.但是在这里,我对SUMIF范围的论证是A2:A3,这让我认为SUMIF将遍历A2和A3,而不是通过A8:A11(这是标准).是什么赋予了?
编辑:不清楚的部分是,当前两个参数具有不同的维度时,SUMIF究竟做了什么(它的迭代模式是什么)(这里,范围是2个单元格,而标准是4个单元格).另外,SUMIF的"输出"是什么?数组?什么尺寸?
另外,如果我忽略了数量而只是想在每次看到一张桌子时添加20,每当我看到一把椅子时都要加10,我想我会这么做:
=SUMIF(A2:A3,A6:A9,B2:B3)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我必须用SUMPRODUCT()将它封装起来才能正常工作并正确评估为60.将它封装在SUM中也不起作用(可能是因为SUMIF不返回数组? )为什么?
我已经阅读了很多教程但仍然无法理解这一点,并且非常感谢对这两种情况的清晰,直观的解释.谢谢.
bre*_*tdj 10
SUMIF可以产生一系列结果.如果你拿我的配方
=SUMIF(A6:A9,A2:A3,B6:B9)
它说
对于A2中的标准(即表格) - 查看A6:A9
- 其中表格匹配,将B6中的对应值相加:B9
- 返回20(即17 + 0 + 0 +3)
- 这存储在第一个位置数组
然后对于A3中的标准(即椅子)
- 看A6:A9
- 表匹配,将B6中的对应值相加:B9
- 返回3(即0 + 1 + 2 + 0)
- 这存储在第二个阵列的位置
所以结束数组SUMIF是{20:3}
您可以通过在Excel的公式栏中突出显示SUMIF公式,然后按F9来查看数组结果
然后使用在B2:B3中的$值中的SUMPRODUCT多个计数SUMIF来获得总计美元
= {20; 3}*{20:10}
= 20*20 + 3*10
= 430
第1部分
而不是
SUMIF(A2:A3,A6:A9,B2:B3)
产生一个
= {20; 10; 10; 20} 的四元素数组
(对应于表;椅子;椅子;表)
您应该使用
SUMIF(A6:A9,A2:A3,B6:B9)
B6:B9中的值与A2中的两个标准相加:A3给出所需的结果
= {20; 3}
(对应于表;椅子)
然后SUMPRODUCT用来加权你的数组,即
=SUMPRODUCT(SUMIF(A6:A9,A2:A3,B6:B9),B2:B3)
= {20; 3}*{20:10}
= 430
第2部分
使用COUNTIF通过使用瓦莱斯返回椅子和桌子的数量的阵列,然后乘以SUMPRODUCT
=SUMPRODUCT(B2:B3,COUNTIF(A6:A9,A2:A3))
= {20; 10}*{2; 2}
= 60
| 归档时间: |
|
| 查看次数: |
51046 次 |
| 最近记录: |