excel if语句为空白单元格提供值

2ledvvac  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(385)

我通过以下if公式对Excel输出进行分类:=IF(M13〉0.8;“〉80%";如果(M13〉0.5;“80%-50%";如果(M13〉0.5;“50%-20%";"〈20%”)))
我的数据有一些空白单元格,在这种情况下,我希望公式返回一个空白单元格。但是,目前公式返回的值〈20%(见图片)。我如何解决这个问题?

rhfm7lfc

rhfm7lfc1#

这里的答案和建议的解决方案适用于您的 * 特定 * 情况。我想提供一个更 * 通用 * 的方法来防止 * 任何 * 嵌套IF()结构出现这种问题,这不仅仅是您的用例所特有的。
IF(M13=""...)条件开始公式的潜在问题是,* 它不是一般化的。* 如果此单元格中包含空格、不可打印字符或文本值,而不仅仅是空白,您总是希望跳过此单元格。任何非数字或超出范围的值都将导致""
因此,公式的一般形式可以是:

=IF(ISNUMBER(M13); IF(M13>0,8; ">80%";IF(M13>0,5; "80%-50%";IF( M13>0,2; "50%-20%"; "<20%")));"")

或者,为了便于阅读,我还在完全相同的公式中添加了空格和alt-return作为不间断回车:

=IF(ISNUMBER(M13);
IF(M13>0,8; ">80%";
IF(M13>0,5; "80%-50%";
IF( M13>0,2; "50%-20%"; "<20%"
)));"")

美国英语表示法为:

=IF(ISNUMBER(M13), IF(M13>0.8, ">80%",IF(M13>0.5, "80%-50%",IF( M13>0.2, "50%-20%", "20%"))),"")

如果您有Excel 2019或更高版本

一种更好的方法是使用最近的IFS()函数来创建IF-THEN-ELSEIF逻辑结构,而不是嵌套的IF()。为了便于阅读,这里使用了相同的alt-return表示法:

=IFS(
NOT(ISNUMBER(M13));"";
M13>0,8; ">80%";
M13>0,5; "80%-50%";
M13>0,2; "50%-20%";
TRUE   ; "<20%"
)

如果没有alt返回,则为:

=IFS(NOT(ISNUMBER(M13));"";M13>0,8;">80%";M13>0,5;"80%-50%";M13>0,2; "50%-20%";TRUE;"<20%")

这些条件会依序进行评估和测试,因此您会建立最后一个“TRUE”条件/结果配对,表示“如果您通过所有其他测试,但仍在此结束,则结果为(a)数值,且(B)小于或相等0,2”。

hpxqektj

hpxqektj2#

为空白单元格添加复选标记:

=IF(M12="";"";IF(M12>0,8;">80%";IF(M12>0,5;"80%-50%";IF(M12>0,2;"50%-20%";"<20%"))))

以下是公式版本,其中公式分隔符为,,小数分隔符为.

=IF(M12="","",IF(M12>0.8,">80%",IF(M12>0.5,"80%-50%",IF(M12>0.2,"50%-20%","<20%"))))

相关问题