【问题标题】:Excel increment cellsand skip weekends or holidaysExcel 增加单元格并跳过周末或节假日
【发布时间】:2021-08-30 23:38:24
【问题描述】:

我有一个谷歌表格,我正试图将其翻译成一个 Excel 文件。原来的公式是这样的:

=Arrayformula(if(J2:J<>"", regexreplace(J2:J, "[^A-Z]",), if( (weekday(B2:B) = 1)+(weekday(B2:B) = 7), ,countifs (weekday(B2:B), ">1", weekday(B2:B), "<7", J2:J, "", row(B2:B), "<="&row(B2:B)))))

我希望将其转换为 excel 中的内容。基本上,这个公式背后的想法是,它会倒计时一列 (A) 查看下一列 (B) 以查看日期是什么。如果是周末,它将跳过增量。如果是工作日,它会增加。这让我可以自动倒计时 20 个工作日的冲刺。然后它会在第二列 (J) 中查看该列中的任何注释。如果该列中有任何内容,它将跳过该增量并在该行中放置一个字母(A 列)。例如,如果我在 J 列中输入“假期”,那么在 A 列中的那一行中将是一个“H”。这样我仍然可以轻松地倒计时来计划 20 个工作日。

它在 Google 表格中运行良好,但转换为 Excel 并不像我希望的那么容易。

【问题讨论】:

    标签: excel regex google-sheets excel-formula


    【解决方案1】:

    您可以使用WEEKDAY

    例如,根据您的描述,您可以尝试:

    =IF(OR(WEEKDAY(G2)=1, WEEKDAY(G2)=7), "",
    IF(ISBLANK(H2)=FALSE, H2,
    MAX(F$1:F1)+1))
    

    按照@Marti 的建议进行编辑: 更简洁的方法是在WEEKDAY 函数中使用第二个参数,然后减少第二个IF 中的字符数。

    =IF(WEEKDAY(G2, 3)>=5, "", 
    IF(ISBLANK(H2), MAX(F$1:F1)+1, H2))
    

    【讨论】:

    • 不错的答案!我会改进一下:=IF(WEEKDAY(G2, 3)&gt;=5, "", IF(ISBLANK(H2), MAX(F$1:F1)+1, H2))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多