![在 Excel 中比较 1 个单元格与其他 3 个单元格](https://linux22.com/image/1555218/%E5%9C%A8%20Excel%20%E4%B8%AD%E6%AF%94%E8%BE%83%201%20%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%8E%E5%85%B6%E4%BB%96%203%20%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC.png)
我正在尝试将一个单元格与比赛中的 3 个可能结果进行比较。如果单元格等于第一个单元格中的值,他们将获得 5 分;如果单元格等于第二个单元格中的值,他们将获得 3 分;如果单元格等于第三个单元格中的值,他们将获得 1 分。如果单元格与三个可能单元格中的任何一个都不匹配,他们将获得 0 分。我尝试使用下面的方法,但没有奏效
=IF(B4=$B$38,5,0)+OR(B4=B$39,3,0)+OR(B4=$B$40,1,0)
答案1
使用 INDEX(,MATCH())
=IFERROR(INDEX({5,3,1},MATCH(B4,B$38:B$40,0)),0)
另一种方法是使用 CHOOSE:
=IFERROR(CHOOSE(MATCH(B4,B$38:B$40,0),5,3,1),0)
或者只是数学:
=IFERROR(7-MATCH(B4,B$38:B$40,0)*2,0)
MATCH 的关键在于它返回我们可以与 INDEX、CHOOSE 一起使用的相对位置,或者只是用它进行数学运算。
因此,如果它等于 B40 中的值,它将返回3
。INDEX 和 CHOOSE 将返回选项数组中的第三个。数学运算将返回 17-3*2
如果您想使用 IF,那么您可以通过将下一个 IF 放入前一个 IF 的 false 中来嵌套 IF。
=IF(B4=$B$38,5,IF(B4=B$39,3,IF(B4=B$40,1,0)))
或者如果您有 Office 365 Excel,则可以使用 IFS:
=IFERROR(IFS(B4=$B$38,5,B4=B$39,3,B4=B$40,1),0)
答案2
另一个 Scott 的回答很好,但你拥有的东西已经接近工作了。如果你绝对肯定 三个基值不同,你可以这样做
=IF(B4=$B$38,5,0)+IF(B4=B$39,3,0)+IF(B4=$B$40,1,0)