【问题标题】:Arrayformula - Cell contains text (Google Sheets)Arrayformula - 单元格包含文本(Google 表格)
【发布时间】:2020-09-03 16:03:58
【问题描述】:

我有下面写的公式。在 E 列 = "EPIs" 的条件下,还有第二个条件来验证 G 列是否包含字符串("CC"、"Hemo" 或 "odonto")。

但是第二个条件没有正确返回“包含指定字符串”部分。 Col E = "EPIs" 为真,但在第二种情况下为假。

我怎样才能让它工作?

=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") ) ))))))))))

【问题讨论】:

  • 你研究过VLOOKUP功能吗?
  • 我猜 VLOOKUP 不适用于 ARRAYFORMULA,因为它总是会返回第一个值,并且它下面的所有数据都会返回 true(这是不正确的)。 (这只是一个猜测。如果我错了,请纠正我)
  • 也许您可以复制一份,然后将其作为可编辑链接分享,我们可以提供帮助吗?
  • docs.google.com/spreadsheets/d/… 公式在 P3 上。我想最好的实验案例是“CC”。
  • 查看 MK.Help 选项卡。你能把正确的期望结果手动放在R列吗? 1500 行似乎有点多,所以也许只是删除一堆行,以便有一个代表所有/许多可能结果的样本?

标签: google-sheets contains array-formulas


【解决方案1】:

您编写的公式比您需要的要复杂得多。

我认为使用 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"})))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    相关资源
    最近更新 更多