我的源数据如下:
我正在尝试运行 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
的最大值。当然,如果您觉得更有趣,也可以使用。之后,将该值与语句中的数值进行比较。CPUs
RVOutput
MIN
2
IF
如果您希望在同一张表中的每一行都包含 CPU 类别大小(S、M 等),则必须使用:
=IF([@CPUs]<2, "S", ...)
引用同一行的列[@CPUs]
中的值。因此,如果您在表格的新列(第 5 行)中实现此公式,则它将查看该列的第 5 行(即)。CPUs
RVOutputs
CPUs
2