if-statement - 复杂的 IF 语句返回 false
问题描述
我正在使用这个长IF
语句来计算销售人员的佣金率。如果为真部分的值有效,但如果为假的值FALSE
在单元格中返回,而不是执行在这种情况下为的假指令(IF(R11<1,(H11*($C$7/10000)),H11*R11)
。也许我不能IF
在公式的 False 部分有另一个?
如果主要IF
语句是FALSE
(意味着 Q11 为空白),我希望公式的错误部分然后
测试 R11 是否为空白,如果它为空白,那么(H11*($C$7/10000))
如果 R11 不为空白,则H11*R11
有人可以帮我解决这个问题吗?
=IF(Q11>1,(IF(ISNUMBER(SEARCH("COOP",Q11)),(H11*1%),IF(ISNUMBER(SEARCH("CERBASI",Q11)),(H11*0.5%),IF(ISNUMBER(SEARCH("Direct",Q11)),(H11*0.3%),IF(ISNUMBER(SEARCH("Specialist",Q11)),(H11*0.5%),IF(ISNUMBER(SEARCH("UNITED",Q11)),(H11*1%),IF(ISNUMBER(SEARCH("Subordinate",F11)),(H11*0%),(IF(R11<1,(H11*($C$7/10000)),H11*R11))))))))))
解决方案
对于访问此页面的任何其他人。这是作者 if 语句的展开版本。
=IF(
Q11>1,
(IF(
ISNUMBER(SEARCH("COOP",Q11)),
(H11*1%),
IF(ISNUMBER(SEARCH("CERBASI",Q11)),
(H11*0.5%),
IF(
ISNUMBER(SEARCH("Direct",Q11)),
(H11*0.3%),
IF(
ISNUMBER(SEARCH("Specialist",Q11)),
(H11*0.5%),
IF(
ISNUMBER(SEARCH("UNITED",Q11)),
(H11*1%),
IF(
ISNUMBER(SEARCH("Subordinate",F11)),
(H11*0%),
(IF(
R11<1,
(H11*($C$7/10000)),
H11*R11
))
)
)
)
)
)
))
)
抱歉,我知道您从未要求重新创建它,但它真的很难阅读、维护和更改。那这个呢?
=IFS(OR(ISNUMBER(SEARCH("COOP",Q11)), ISNUMBER(SEARCH("UNITED",Q11))), (H11*1%), OR(ISNUMBER(SEARCH("CERBASI",Q11)), ISNUMBER(SEARCH("Specialist",Q11))), (H11*0.5%), ISNUMBER(SEARCH("Direct",Q11)), (H11*0.3%), ISNUMBER(SEARCH("Subordinate",F11)), (H11*0%)), R11<1,(H11*($C$7/10000)), H11*R11, TRUE, $C$1)
更容易阅读:
=IFS(
OR(ISNUMBER(SEARCH("COOP",Q11)), ISNUMBER(SEARCH("UNITED",Q11))),
(H11*1%),
OR(ISNUMBER(SEARCH("CERBASI",Q11)), ISNUMBER(SEARCH("Specialist",Q11))),
(H11*0.5%),
ISNUMBER(SEARCH("Direct",Q11)),
(H11*0.3%),
ISNUMBER(SEARCH("Subordinate",F11)),
(H11*0%)),
R11<1,
(H11*($C$7/10000)),
H11*R11,
TRUE,
$C$1)
TRUE 只是我在 IFS 上强制执行 else 语句的方式,$C$1 将由 else 语句执行。或者你可以在一个 if 语句中嵌入两个 ifs 语句
=IF(
Q11 > 1,
(IFS(
OR(ISNUMBER(SEARCH("COOP",Q11)), ISNUMBER(SEARCH("UNITED",Q11))),
(H11*1%),
OR(ISNUMBER(SEARCH("CERBASI",Q11)), ISNUMBER(SEARCH("Specialist",Q11))),
(H11*0.5%),
ISNUMBER(SEARCH("Direct",Q11)),
(H11*0.3%),
ISNUMBER(SEARCH("Subordinate",F11)),
(H11*0%)),
R11<1,
(H11*($C$7/10000)),
H11*R11)),
(IFS(
OR(ISNUMBER(SEARCH("COOP",Q11)), ISNUMBER(SEARCH("UNITED",Q11))),
(H11*1%),
OR(ISNUMBER(SEARCH("CERBASI",Q11)), ISNUMBER(SEARCH("Specialist",Q11))),
(H11*0.5%),
ISNUMBER(SEARCH("Direct",Q11)),
(H11*0.3%),
ISNUMBER(SEARCH("Subordinate",F11)),
(H11*0%),
R11<1,
(H11*($C$7/10000)),
H11*R11)))
推荐阅读
- javascript - 这种合并排序的迭代实现是否正确?
- angular - “可观察”类型上不存在属性“地图”
' - java - 如果缺少 jar,使用“jpackage”创建的可执行文件会静默失败
- c# - 我的 Xaml cs 文件找不到我的 xaml 文本框 UWP
- bash - 在 bash 中回显的函数中返回值
- rstudio - Rstudio:鼠标跟随焦点?
- amazon-web-services - 避免在 AWS Lambda 中花费等待时间
- c++ - 与 Rust 的 include_str 等效的 C++ 宏
- flutter - 为什么颤动中的文本小部件不显示字母和数字的组合
- python - 迭代/循环所有列