如何不使用IF显示0

时间:2019-02-13 10:36:14

标签: excel excel-formula

这是我的excel函数。我不知道如何将IF情感更改为在certian列中不包含0。

试图像在编程语言中一样嵌套它们,但这没有用。

=AG2
    & "-"
    & D2
    & IF(LEN(F2)<=2;F2;"")
    & IF(F2="0";"";)
    & IF(F2="3XL";"XXXL";)
    & IF(F2="4XL";"XXXXL";)
    & IF(F2="5XL";"XXXXXL";)
    & IF(F2="6XL";"XXXXXXL";)
    & IF(F2="XXL";"XXL";"")

我似乎不知道如何发布更简洁的公式。

未编辑:

=AG2 & "-" & D2 & IF(LEN(F2)<=2;F2;"") & IF(F2="0";"";) & IF(F2="3XL";"XXXL";) & IF(F2="4XL";"XXXXL";) & IF(F2="5XL";"XXXXXL";) & IF(F2="6XL";"XXXXXXL";) & IF(F2="XXL";"XXL";"")

2 个答案:

答案 0 :(得分:0)

需要将F2长度的条件嵌套到条件中,以查看F2是否为零。

=AG2
 &"-"
 &D2
 &IF(F2="0"; ""; IF(LEN(F2)<=2; F2; ""))
 &IF(F2="3XL";"XXXL";)
 &IF(F2="4XL";"XXXXL";)
 &IF(F2="5XL";"XXXXXL";)
 &IF(F2="6XL";"XXXXXXL";)
 &IF(F2="XXL";"XXL";"")

答案 1 :(得分:0)

尝试以下

=AG2 & "-" & D2 & IF(F2=0; ""; IF(AND(IFERROR(FIND("XL"; UPPER(F2)); FALSE); ISNUMBER(VALUE(TRIM(SUBSTITUTE(UPPER(F2); "XL"; ""))))); REPT("X"; VALUE(TRIM(SUBSTITUTE(UPPER(F2); "XL"; ""))))&"L"; F2))

要对此进行分解,我们可以分块查看。第一部分很明显

AG2 & "-" & D2

从单元格AG2D2中获取值,并将它们与-分隔符组合在一起。

下一部分将产生单元格F2的输出

IF(F2=0; ";

这将测试单元格F2是否等于0,如果是,则返回一个空字符串。 我们测试的下一个条件是F2是否包含XL,如果存在,则该单元格中是否还有数字。

IFERROR(FIND("XL"; UPPER(F2)); FALSE)

测试F2的值是否为"XL"

ISNUMBER(VALUE(TRIM(SUBSTITUTE(UPPER(F2); "XL"; ""))))

测试是否也包含数字 如果以上两个条件都返回True,则公式将字母"X"重复单元格F2中数字的次数,并在末尾与"L"组合< / p>

REPT("X"; VALUE(TRIM(SUBSTITUTE(UPPER(F2); "XL"; ""))))&"L"

例如这将转换

2xl -> XXL
3xl -> XXXL
4xl -> XXXXL
5xl -> XXXXXL
6XL -> XXXXXXL
7XL -> XXXXXXXL
etc.

对于其他任何内容(例如""SMLXLXXL等),它将返回那些值未修改。这应该涵盖您上面的所有示例以及更多(如果需要)