表中嵌套的 IF 语句

表中嵌套的 IF 语句

我的源数据如下:

数据

我正在尝试运行 IF 语句,根据 CPU 和内存大小使用此语句进行分类:

=
IF(RVOutput[[#Headers],[CPUs]]<2,"S",
IF(RVOutput[[#Headers],[CPUs]]<4,"M",
IF(RVOutput[[#Headers],[CPUs]]<8,"L",
IF(RVOutput[[#Headers],[CPUs]]<16,"XL",
"XXL"))))

然而,出于某种原因,输出总是 XXL。它几乎似乎跳过了前 4 个选项。

答案1

您正在引用标题([[#Headers],[CPUs]])。这基本上意味着您正在将(字符串)值CPUs与数值进行比较,而数值始终为 false。

现在,要解决这个问题,这取决于你希望信息放在哪里。如果你想把公式放到单元格中外部您的RVOutput表并且您想要检查整个列中的最大 CPU 数量,那么您可以使用:

IF(MAX(RVOutput[CPUs])<2,"S",...)

这里返回整列MAX的最大值。当然,如果您觉得更有趣,也可以使用。之后,将该值与语句中的数值进行比较。CPUsRVOutputMIN2IF

在此处输入图片描述

如果您希望在同一张表中的每一行都包含 CPU 类别大小(S、M 等),则必须使用:

=IF([@CPUs]<2, "S", ...)

引用同一行的列[@CPUs]中的值。因此,如果您在表格的新列(第 5 行)中实现此公式,则它将查看该列的第 5 行(即)。CPUsRVOutputsCPUs2

在此处输入图片描述

相关内容