EXCEL 日期函数 特殊场景应用之二
EXCEL 日期函数 特殊场景应用之二
昨天已与大家分享了6个日期函数特殊场景的应用示例,今天继续分享日期函数的特殊应用场景。● 生成最新采购日期和采购价格(MAXIFS+XLOOKUP)"最新日期"=MAXIFS($B$3:$B$8,$C$3:$C$8,F3)XLOOKUP(F3&G3,$C$3:$C$8&$B$3:$B$8,$D$3:$D$8,"",,-1)用XLOOKUP函数的特性,得到产品和日期两个条件的匹配结果,第6参数[搜索模式]选择从最后一项到第一项进行搜索。=MAXIFS(最大值所在区域, 区域1, 条件1,区域2, 条件2,...)=XLOOKUP(查找值,查找数组,返回数组,[未找到值],[匹配模式],[搜索模式])● 根据年月,自动生成本月的2列日期(LET+EOMONTH+DAY+SEQUENCE+REPTARRAY+TOROW)1.本次计算会反复用到年份和月份,因此先用LET函数,定义年份和月份为X、Y,用EOMONTH函数求得本月的月末日期。=LET(X,C2,Y,D2,EOMONTH(DATE(X,Y,1),0))=LT(X,C2,Y,D2,DAY(EOMONTH(DATE(X,Y,1),0)))3.把以上结果定义为Z,用SEQUENCE函数得到本月每一天的数组。=LET(X,C2,Y,D2,Z,DAY(EOMONTH(DATE(X,Y,1),0)),SEQUENCE(Z,,DATE(X,Y,1),1))4.把以上结果定义为H,用数组重复函数REPTARRAY把数组重复为2列。=LET(X,C2,Y,D2,Z,DAY(EOMONTH(DATE(X,Y,1),0)),H,SEQUENCE(Z,,DATE(X,Y,1),1),REPTARRAY(H,,2))5.末尾套用TOROW函数,把2列数据整合为1行多列数据。=LET(X,C2,Y,D2,Z,DAY(EOMONTH(DATE(X,Y,1),0)),H,SEQUENCE(Z,,DATE(X,Y,1),1),TOROW(REPTARRAY(H,,2),,FALSE))语法:=REPTARRAY(数组, [行数], [列数])②行数 (可选):在垂直(行)方向上的重复次数。默认为1。③列数 (可选):在水平(列)方向上的重复次数。默认为1。语法:=TOROW(数组, [是否忽略特殊值], [通过列/行扫描])②是否忽略特殊值: (可选):忽略特殊值控制,默认值为 0。- 3:同时忽略空白单元格和错误值(最常用,可避免结果中出现无效值)。
③列数 (可选):扫描方向控制,默认值为 FALSE(按行扫描)。- TRUE:按列扫描(先扫第一列,再扫第二列,效果类似转置)。
1.先用LET函数,定义开始日期和结束日期为X、Y,用DATE函数求得开始日期的月初日期。=LET(X,C1,Y,C2,DATE(YEAR(X),MONTH(X),1))2.把以上结果定义为Z,再用DATE函数求得结束日期的月初日期。=LET(X,C1,Y,C2,Z,DATE(YEAR(X),MONTH(X),1),DATE(YEAR(Y),MONTH(Y),1))3.把以上结果定义为H,再用DATEDIF函数求得间隔月份,因含起始月份,再+1,即可。=LET(X,C1,Y,C2,Z,DATE(YEAR(X),MONTH(X),1),H,DATE(YEAR(Y),MONTH(Y),1),DATEDIF(Z,H,"M")+1)下期继续。。。。。。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。