【问题标题】:Regexmatch if, and, and date combined formulaRegexmatch if, and, and date 组合公式
【发布时间】:2021-04-14 14:10:10
【问题描述】:

我在尝试修复此帖子中使用的旧公式时遇到问题: 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”列中删除“从不”,则编码工作正常

这是一个测试 google sheet doc: https://docs.google.com/spreadsheets/d/14d-XT0xlAOj4gbHLtYYio2dJGBieFHuwvVLx8lkALl0/edit?usp=sharing

任何关于如何修复此编码的帮助将不胜感激。

【问题讨论】:

  • 预期输出是什么而不是错误?
  • 预期输出是 Y 或 N。在测试表中,如果您从 F2:F4 中删除“从不”,则公式可以正常工作。我试图让公式仍然有效,但“从不”一词存在而不会引发错误。

标签: regex if-statement google-sheets google-sheets-formula array-formulas


【解决方案1】:

使用:

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

【讨论】:

    【解决方案2】:

    我不确定如何调整所有这些 regexmatch(),但这是我要解决的问题。与以往一样,您可以通过查找 here 来了解所有功能:

    =ARRAYFORMULA(IF(C2:C="",,IF(MMULT((TODAY()>{C2:C+20,N(F2:F)+{44,74}})( B2:B={"rct","cdt","pvt"}),{1;1;1})(MMULT(N(REGEXMATCH(D2:E,"2 周|1 周|天|小时|分钟")),{1;1})=2),"Y","N")))

    另外,我很确定您需要修复另一个是 N() 您的日期范围,这会将任何文本转换为数字 0,从而自动创建今天是否“之后”的 true不管是不是。

    【讨论】:

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