regex - Regexmatch if, and, and date 组合公式
问题描述
我在尝试修复我在这篇文章中使用的旧公式时遇到问题: Regematch if, and, and date combined forumula
我遇到的问题是,现在他们将“最后一次提升”或“f”列更改为“从不”而不是空白,这样编码对于提升为 Cdt 的 Rct 不起作用。
当前公式:
=ARRAYFORMULA(IF((((REGEXMATCH(LOWER(B2:B31), "rct"))*(TODAY()>C2:C31+20))+
((REGEXMATCH(LOWER(B2:B31), "cdt"))*(TODAY()>F2:F31+44))+
((REGEXMATCH(LOWER(B2:B31), "pvt"))*(TODAY()>F2:F31+74)))*
(REGEXMATCH(LOWER(D2:D31), "2 weeks ago|1 week ago|day|hour|minute"))*
(REGEXMATCH(LOWER(E2:E31), "2 weeks ago|1 week ago|day|hour|minute")),
"Y", "N"))
我得到的错误:
函数 ADD 参数 1 需要数字值。但“从不”是文本,不能强制转换为数字。
我不明白为什么我会收到这个错误,因为我的眼睛公式没有在 Rct 的“F”列中查找,而只是 Cdt 和 Pvt。如果您从“F”列中删除“从不”,则编码工作正常
这是一个测试谷歌表文档: https ://docs.google.com/spreadsheets/d/14d-XT0xlAOj4gbHLtYYio2dJGBieFHuwvVLx8lkALl0/edit?usp=sharing
非常感谢我如何修复此编码的任何帮助。
解决方案
采用:
=ARRAYFORMULA(IF((((REGEXMATCH(LOWER(B2:B31), "rct"))*(TODAY()>C2:C31+20))+
((REGEXMATCH(LOWER(B2:B31), "cdt"))*(TODAY()>IFERROR(1*F2:F31)+44))+
((REGEXMATCH(LOWER(B2:B31), "pvt"))*(TODAY()>IFERROR(1*F2:F31)+74)))*
(REGEXMATCH(LOWER(D2:D31), "2 weeks ago|1 week ago|day|hour|minute"))*
(REGEXMATCH(LOWER(E2:E31), "2 weeks ago|1 week ago|day|hour|minute")),
"Y", "N"))
推荐阅读
- azure-logic-apps - 如何在 Azure 逻辑应用中筛选正文内容
- c++ - 是什么导致“找不到 QtWebEngineProcess”错误?
- javascript - 如何使用HTML5文件api动态附加图片进行文件上传,base64
- android - 如何仅在 RecyclerView 的屏幕上时才在 imageview 中加载图像
- javascript - CheckBoxFor 数据切换更改事件不起作用?jQuery
- python-3.x - 确定性能和观察窗口
- python - DataFrame.lookup 需要具有最新版本 Pandas 的唯一索引和列
- postgresql - 带有大量插入语句的 Postgresql 脚本性能缓慢
- ios - 我想使用 Swift 根据系统时区将 UTC 日期转换为系统日期。它早些时候对我有用
- java - 多种返回类型和属性类型