我创建了这个工作表来测试这个公式:
| | A | B | C | D |
| 1 | Object | Yes | Maybe | No |
| 2 | Object 1 | 50 | 25 | 0 |
| 3 | Object 2 | 20 | 10 | 0 |
| 4 | Object 3 | 20 | 10 | 0 |
| 5 | Object 4 | 10 | 5 | 0 |
规则
| | A | B | C | D | E | F | G |
| 1 | Article | Object 1 | Object 2 | Object 3 | Object 4 | Total | |
| 2 | Article 1 | 50 | 20 | 20 | 10 | 100 | |
| 3 | Article 2 | Yes | Yes | Yes | Yes | 100 | |
| 4 | Article 3 | Yes | No | No | Yes | 60 | |
| 5 | Article 4 | No | Yes | Yes | No | 40 | |
| 6 | Test | No | Yes | Yes | No | #VALUE! | |
| 7 | Test2 | Yes | Yes | No | Yes | 50 | |
| 8 | Test3 | Yes | Yes | No | Yes | 70 | * |
* This works partially, but if No is selected the next Yes won't be calculated and breaks
if first Object is not Yes. The example says 70 but should be 80.
表
https://docs.google.com/spreadsheets/d/1ydSfa4dpkTdcvwPPqGLRdQ9r-JZstB-hYS7J7tondUs/edit?usp=sharing
我想要实现的是,当将 SUM 相加时,Rules!
中列出的值应对应于Sheet!
中的Yes/No
。
例如,在 Sheet!,如果我选择Yes, Yes, No, Yes
它应该加起来50 + 20 + 0 + 10 = 80
.因为前Yes
等于50
,后跟20, 20, 10
,任何No
等于0
。
在电子表格方面,我知道非常基本的公式,到目前为止我尝试过以下内容,这也是我卡住的地方。
我希望它B8
读取E8
,查看列出了多少Yes
,如果列出了任何Yes
,请将其与B2
到B5
进行比较。
=SUMIF(B8:E8,"Yes",Rules!B2:B5)
我最接近的是忽略规则表,并通过重复 IF 语句将规则直接放入公式中。这样它就可以工作,但我仍然希望由规则表设置规则。
=IF(B10="Yes",50+IF(C10="Yes",20+IF(D10="Yes",20+IF(E10="Yes",10,0))))
我尝试的可能非常不正确,但正如我所说,我不知道如何继续或修复它。
有人对我有建议吗?
或者,如果您需要进一步解释我想要实现的目标,如果有些不清楚,请告诉我,我会尽力解释。
也许你在追求 SUMPRODUCT:
=sumproduct(B$2:E$2,B3:E3="Yes")
在Sheet
的 F3 中,复制下来以适合,或者也许:
=sumproduct(transpose(Rules!B$2:B$5),B3:E3="Yes")