google-sheets - Arrayformula - 单元格包含文本(Google 表格)
问题描述
我有下面写的公式。在 E 列 = "EPIs" 的条件下,还有第二个条件来验证 G 列是否包含字符串("CC"、"Hemo" 或 "odonto")。
但是第二个条件没有正确返回“包含指定字符串”部分。Col E = "EPI" 为真,但在第二种情况下为假。
我怎样才能让它工作?
=ARRAYFORMULA(
IF(B3:B="";"";
IF(M3:M="";"Verificar";
IF(M3:M="Realizado - Sem Certificado";"Verificar";
IF(M3:M="Manutenção";"Verificar";
IF(M3:M="Verificar";"Verificar";
IF(M3:M="Verificar se está ativo";"Verificar";
IF(M3:M="Não realizado";"Verificar";
IF(M3:M="Desativado";"DESATIVADO";
IF(E3:E="EPIs";
(IF(G3:G="*CC*";IF(DATE(YEAR(M3:M);MONTH(M3:M)+6;DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M);MONTH(M3:M)+4;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido");
IF(G3:G="*hemo*";IF(DATE(YEAR(M3:M);MONTH(M3:M)+6;DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M);MONTH(M3:M)+4;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido");
IF(G3:G="*odonto*";IF(DATE(YEAR(M3:M)+2;MONTH(M3:M);DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M)+2;MONTH(M3:M)-2;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido");
IF(DATE(YEAR(M3:M)+1;MONTH(M3:M);DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M)+1;MONTH(M3:M)-2;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido")
))));
IF(E3:E="Odonto Intra";IF(DATE(YEAR(M3:M)+2;MONTH(M3:M);DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M)+2;MONTH(M3:M)-2;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido");
IF(DATE(YEAR(M3:M)+1;MONTH(M3:M);DAY(M3:M))>TODAY();IF(DATE(YEAR(M3:M)+1;MONTH(M3:M)-2;DAY(M3:M))>TODAY();"OK";"Realizar CQ");"Vencido") ) ))))))))))
解决方案
您编写的公式比您需要的要复杂得多。
我认为使用 EDATE() 和 LOOKUP() 可以更轻松地达到预期的效果。
=ARRAYFORMULA(IF(M3:M="";;LOOKUP(TODAY()-EDATE(M3:M;IF(REGEXMATCH(G3:G;"Hemo|CC");6;IF(REGEXMATCH(G3:G;"Odonto");24;12)));{-9^9;-60;0};{"OK";"Realizar";"Vencido"})))
推荐阅读
- c# - 如何从 WndProc 调用异步方法?
- botframework - 在 Bot Framework 中接收来自 Skype 的传入消息时,除了消息文本之外没有 ChannelData
- libusb - LibUsbDotNet 不打开设备
- flutter - Flutter AppBar 添加白色边框
- python - Tkinter:标签系统的问题 - 它是如何工作的?
- javascript - Flow 的 $ElementType 的奇怪行为
- laravel - 在 Laravel 中使用 dd() 函数
- mysql - sql 从列中描述的表名中选择
- maven - 升级时未执行 XL 部署插件命令
- android - 防止 OkHTTP 对 RequestBody 进行 URL 编码