目前,我遇到了一些麻烦。我正在尝试创建一个模板,该模板将自动写出选定月份中的所有工作天(月份和年份将在单元格A1和B1中) 有人可以给我个建议吗?我尝试使用一些功能,但我必须声明我不知道如何实现此功能
答案 0 :(得分:0)
为此,我将使用WORKDAY函数以及一个索引列,以便我们可以使用该月的所有时间:
=IF(MONTH(WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4))<>MONTH(DATEVALUE($B$1&" 1")),
"",
WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4)
)
这看起来很复杂,但是当您将其分成多个块时,这相当简单。这是一张可能有帮助的图像:
让我们从公式的这一部分开始:
MONTH(DATEVALUE($B$1&" 1"))
所有这些操作就是将月份的名称转换为月份的数字。
WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4)
这是公式中执行大部分工作的部分。它根据提供的月/年创建日期,并根据当前行(索引列)并考虑银行假日列表,添加适当的工作日数。
IF(MONTH(WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4))<>MONTH(DATEVALUE($B$1&" 1")),
"",
这部分看起来很复杂,但实际上只是上述公式的一个副本,并将其与提供的月份进行比较。如果不同(表示我们已通过感兴趣的月末),则会导致返回空白而不是日期。