我试图根据两个条件得到加权和:
column A
(公司1 )和column B
(公司2 )是 0 还是 1 (乘数不同) 示例:
让我们计算第2行的加权和:
总和 = 2 (乘数1 )* 50 ( 1股价 >)* 3 ( Company 1
的共享数量)+
+ 0.5 (乘数0 )* 50 ( 1股价)* 6 < / strong>( Company 2
的共享数量)= 450
第2行 = 450 总和。
目前我只使用以下代码检查乘数( 1 或 0 ):
=COUNTIF(A2:B2,0)*$B$9*$B$8 + COUNTIF(A2:B2,1)*$B$9*$B$7
但它没有考虑公司1 或公司2 的股票数量。我只将 1股价与乘数相乘,但不与股数相乘。
我如何检查是公司1 还是公司2 才能乘以相应的股票数量?
UPD:
当只有两家公司时,Rasmus0607 提供了解决方案:
=$B$9*$E$8*IF(A2=1;$B$7;$B$8)+$B$9*$E$9*IF(B2=1;$B$7;$B$8)
Tom Sharpe 提供了更通用的解决方案(公司数量可能大于2)
我将我的Excel文件上传到DropBox: Excel file
答案 0 :(得分:2)
= $ B $ 9 * $ E $ 8 * IF(A2 = 1; $ B $ 7; $ B $ 8)+ $ B $ 9 * $ E $ 9 * IF(B2 = 1; $ B $ 7; $ B $ 8)< / p>
答案 1 :(得分:2)
我可以提供一种更通用的方法来做到这一点,事后可以通过改变第二个CHOOSE语句来应用于两列以上: -
=SUM(CHOOSE(2-A2:B2,$B$7,$B$8)*CHOOSE(COLUMN(A:B),$E$8,$E$9))*$B$9
不幸的是,这是一个数组公式,你必须输入 Ctrl Shift 输入。但是,仅仅通过重复使用其中一个答案并保持简单,这是一个没有实际意义的点。
你也可以试试这个: -
=SUMPRODUCT(N(OFFSET($B$6,2-A2:B2,0)),N(OFFSET($E$7,COLUMN(A:B),0)))*$B$9
以下是三家公司的情况
=SUM(CHOOSE(2-A2:C2,$B$7,$B$8)*CHOOSE(COLUMN(A:C),$F$8,$F$9,$F$10))*$B$9
(数组公式)或
=SUMPRODUCT(N(OFFSET($B$6,2-A2:C2,0)),N(OFFSET($F$7,COLUMN(A:C),0)))*$B$9
答案 2 :(得分:1)
由于在COUNTIF
函数中,您事先不知道,哪个公司列包含0或1,我建议使用IF
更长但更系统的解决方案:
=$B$9*$E$8*IF(A2=1;2;0,5)+$B$9*$E$9*IF(B2=1;2;0,5)
这有点不太通用,但是应该产生你期望的结果。