简体   繁体   English

在 Arrayformula 中使用工作日的 Google 表格

[英]Google Sheets Using Weekday in an Arrayformula

I have this formula which works fine when put into individual cells in a column:我有这个公式,当放入列中的单个单元格时效果很好:

 =OR(AND(AND(D2:D, WEEKDAY(NOW()) = 1),D2:D <>""),
    AND(AND(E2:E, WEEKDAY(NOW()) = 2),E2:E <>""),
    AND(AND(F2:F, WEEKDAY(NOW()) = 2),F2:F <>""),
    AND(AND(G2:G, WEEKDAY(NOW()) = 2),G2:G <>""),
    AND(AND(H2:H, WEEKDAY(NOW()) = 2),H2:H <>""),
    AND(AND(I2:I, WEEKDAY(NOW()) = 2),I2:I <>""),
    AND(AND(J2:J, WEEKDAY(NOW()) = 2),J2:J <>"")
   )

However I can't seem to get it to work in arrayformula:但是我似乎无法让它在 arrayformula 中工作:

 =ARRAYFORMULA(IF(LEN(A2:A),
  OR(AND(AND(D2:D, WEEKDAY(NOW()) = 1),D2:D <>""),
    AND(AND(E2:E, WEEKDAY(NOW()) = 2),E2:E <>""),
    AND(AND(F2:F, WEEKDAY(NOW()) = 2),F2:F <>""),
    AND(AND(G2:G, WEEKDAY(NOW()) = 2),G2:G <>""),
    AND(AND(H2:H, WEEKDAY(NOW()) = 2),H2:H <>""),
    AND(AND(I2:I, WEEKDAY(NOW()) = 2),I2:I <>""),
    AND(AND(J2:J, WEEKDAY(NOW()) = 2),J2:J <>"")
   ),""))

Here is the sheet shared so you can copy it: https://docs.google.com/spreadsheets/d/1TR-ayKtfOFC2LtQoIm8kzt7keTsyrqgxP0ZY9JVDcOs/edit?usp=sharing这是共享的工作表,您可以复制它: https : //docs.google.com/spreadsheets/d/1TR-ayKtfOFC2LtQoIm8kzt7keTsyrqgxP0ZY9JVDcOs/edit?usp=sharing

[UPDATE:] My original formula had another error. [更新:] 我原来的公式有另一个错误。 PlayerO solved the AND OR issue but carried forward my error. PlayerO解决了 AND OR 问题,但继承了我的错误。 Here is the corrected code that worked for my situation:这是适用于我的情况的更正代码:

={"VaildDay";ARRAYFORMULA(IF(LEN(A2:A),
 ((((E2:E)*(WEEKDAY(NOW())=1))*(E2:E<>""))+
  (((F2:F)*(WEEKDAY(NOW())=2))*(F2:F<>""))+
  (((G2:G)*(WEEKDAY(NOW())=3))*(G2:G<>""))+
  (((H2:H)*(WEEKDAY(NOW())=4))*(H2:H<>""))+
  (((I2:I)*(WEEKDAY(NOW())=5))*(I2:I<>""))+
  (((J2:J)*(WEEKDAY(NOW())=6))*(J2:J<>""))+
  (((K2:K)*(WEEKDAY(NOW())=7))*(K2:K<>"")) = 1, ))

change AND for * and OR for + :AND更改为*并将OR更改为+

=ARRAYFORMULA(IF(LEN(A2:A),
 ((((D2:D)*(WEEKDAY(NOW())=1))*(D2:D<>""))+
  (((E2:E)*(WEEKDAY(NOW())=2))*(E2:E<>""))+
  (((F2:F)*(WEEKDAY(NOW())=2))*(F2:F<>""))+
  (((G2:G)*(WEEKDAY(NOW())=2))*(G2:G<>""))+
  (((H2:H)*(WEEKDAY(NOW())=2))*(H2:H<>""))+
  (((I2:I)*(WEEKDAY(NOW())=2))*(I2:I<>""))+
  (((J2:J)*(WEEKDAY(NOW())=2))*(J2:J<>"")))=1, ))

0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM