大神,数据量小的话肯定用工作表,只要用了PQ,肯定是数据量过大,普通excel根本开不了。
你运行一下可不可以,算工作日这个不难,就是去把工作日挑出来,没有上次你问的那个几个工作日后是什么日子难。
你都没有去琢磨。
以下UDF,需要准备一个法定假日表和一个周末调休上班的表,如果这两个参数省略,就是只考虑周末休息。
- let
fx=(startdate as date,enddate as date,optional statutoryholidays as list,optional holidayshift as list)
=> List.Count(
[a=List.Generate(()=>startdate,each _<=enddate,each Date.AddDays(_,1)),
b=List.Select(a,each Date.DayOfWeek(_,1)<5
and (if statutoryholidays is null then true else not List.Contains(statutoryholidays,_))),
c=List.Select(a,each (if holidayshift is null then true else List.Contains(holidayshift,_))),
d=b&c][d]
)
in
fx
复制代码 |