在 Excel 中比较 1 个单元格与其他 3 个单元格

在 Excel 中比较 1 个单元格与其他 3 个单元格

我正在尝试将一个单元格与比赛中的 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)

相关内容