基于特定数字范围之间的单元格值的 Excel 公式是什么?

What is the Excel formula based on the value of a cell between a specific range of numbers?

我正在使用 Excel 2016,我需要一个基于单元格 C2 值的单元格 W2 的公式,逻辑如下:

if cell C2 is between 1 and 10, then it should output "R",
if cell C2 is between 11 and 20, then "B",
if cell C2 is between 21 and 30, then "Y",
if cell C2 is between 31 and 40, then, "G"

我正在修改 IF(AND..) 公式,但我做错了。

这是我现在拥有的:

=IF(C2<=10,"R",IF(AND(C2>10,C2<=20,"B"),IF(AND(C2>20,C2<=30),"Y",IF(AND(C2>30,C2<=40),"G","!"))))

这应该可以解决问题:

=IF(C2<=10,"R",IF(AND(C2>10,C2<=20),"B",IF(AND(C2>20,C2<=30),"Y",IF(AND(C2>30,C2<=40),"G","!"))))

您始终可以通过双击函数建议来仔细检查函数,看看您是否正确使用了所有括号:

经典 IF AND

=IF(C2<=10,"R",IF(AND(C2>10,C2<=20),"B",IF(AND(C2>20,C2<=30),"Y",IF(AND(C2>30,C2<=40),"G","!"))))

我认为你应该这样做(例如使用 VLOOKUP):

=VLOOKUP(ROUNDUP(C2, -1), $C:$D, 2, FALSE)

在哪里

这避免了使用深层嵌套的 if-else 语句。我的意思是,如果你需要为 20 个字母这样做,你会怎么做?一个 20 层嵌套的 if-else 语句?编号

您的原始公式存在一个常见问题,即 IF 语句 'short-circuits';也就是说,一旦嵌套的 IF 条件之一为真,则不再进行进一步的嵌套计算。如果第一个 IF 通过,则第二个 IF 不需要检查 C2 是否大于 10;事实上,它 必须 >10 否则永远不会达到第二个 IF。此逻辑遵循其余的嵌套 IF。

=IF(C2<=10, "R", IF(C2<=20, "B" , IF(C2<=30, "Y", IF(C2<=40, "G", "!"))))

请注意,您的叙述是 'if cell C2 is between 1 and 10, then it should output "R"',但您的公式计算的是更简单的 'less than or equal to 10',它也包含零和负数。

您还可以'hard code'查找。

=LOOKUP(C2, {-1E+99,1,11,21,31,41}, {"!","R","B","Y","G","!"})

短:

=CHOOSE(ROUNDUP(C2/10,0),"R","B","Y","G")