excel - 多个逻辑检查的多个文本响应?擅长
问题描述
没有找到我在其他线程中寻找的确切内容。
我有一张表格,可以跟踪用户终止日期并确定到达日期后要完成的任务,例如开始将电子邮件转发给经理或在 3 个月后暂停帐户。
当前设置如下(与问题相关):
值列
- Col C = 学期日期
- Col T = 转发请求 = True 或 False
公式列
Col G
=IF(T4=FALSE,"N/A",(C4+IF(T4,90)))
<< 检查是否请求转发。如果是,则返回 term date + 3 months。否则,返回 N/A。Col H
=IF(G4="N/A","N/A",IF(G4<TODAY(),"DISABLE FORWARD","HOLD TICKET"))
<< 检查转发等待期是否已过或未被请求。如果请求转发,请等待 3 个月并显示“HOLD TICKET”文本,3 个月后返回“DISABLE FORWARDING”。如果没有请求,则返回 NA。- Col I
=IF(G4<TODAY(),"SUSPEND","HOLD TICKET")
<< 检查转发等待期是否已过。如果是,则返回文本“SUSPEND”。否则,返回“HOLD TICKET”。
- Col I
现在,谈谈我想要完成的事情。
如果根本没有请求任何内容并且 G 中的值是 NA,我希望第 I 列也返回 SUSPEND。
对于初学者,我有一位同事向我介绍了我,=na()
所以我将开始用错误值替换我的所有文本值。这样,我就可以开始使用=IFERROR
.
我的问题是语法。当未明确使用 TRUE 或 FALSE 时,我无法组合多个逻辑检查。我尝试使用 IFS 和 OR 来组合公式,但这些公式都在寻找我没有使用的显式布尔值。
=na()
我能够毫无问题地替换 Col G 的“N/A” 。按预期填满。
现在,当我尝试替换 Col H 公式中的所有“N/A”条目时,它开始抛出我有太多参数的错误。
我还尝试将 Col I 更改为类似的=OR(IF(G4<TODAY(),"SUSPEND","HOLD TICKET"),IF(G4="N/A","SUSPEND"))
内容,但这会返回 #VALUE!错误。我怀疑是因为 =OR() 正在寻找布尔值并且只找到日期或#N/A。
我怎样才能完成我在这里寻找的东西?
解决方案
我的一位天才同事指出,这比我做的要简单得多。为了灵活性,我们选择切换回文本值“N/A”而不是“=NA()”。
新公式。
G=IF(T4=FALSE,"N/A",(D4+IF(T4,90)))
H=IF(G4="N/A","N/A",IF(G4<TODAY(),"DISABLE FORWARD","HOLD TICKET"))
我=IF(G4="N/A","SUSPEND",IF(G4<TODAY(),"SUSPEND","HOLD TICKET"))
在某一时刻,我们还尝试添加 =ISNA(ISERROR,但我们认为实际上在工作表中看到 #N/A! 有点混乱。
我从中学到的一点是,IFS 并不总是必要的,嵌套的 IF 语句同样强大。
推荐阅读
- hl7-fhir - FHIR 的批量导入请求
- javascript - jQuery Countdown 直到服务器的午夜时间
- amazon-s3 - AWS S3 存储桶(前缀)大小的通知服务
- javascript - Chrome 的 F12 和 CDP 的结果不同
- javascript - 使用递归从嵌套对象中检索值
- android - 导航组件,检查返回堆栈中是否存在片段
- ffmpeg - 编码前预览 FFMPEG 字幕
- routes - 如何禁用在路由 OData 中仅获取元数据
- firebase - Firestore 文档中的数组类型字段将转换为自定义对象列表
- c# - 无法跨项目访问自定义属性