You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 2019/2021中判断日期时间范围的工作日及周三等条件方法

Excel 2019/2021 交易日志掉期费计算方案

基于你的需求,以下是针对DateTimeIn和DateTimeOut列的公式实现,所有公式适配非365版本的Excel:

1. 计算排除节假日的工作日天数

使用NETWORKDAYS函数提取日期部分并计算工作日,排除Holidays表的节假日:

=NETWORKDAYS(INT([@DateTimeIn]), INT([@DateTimeOut]), Holidays!$A:$A)
  • INT([@DateTimeIn])/INT([@DateTimeOut]):提取日期时间中的纯日期部分
  • Holidays!$A:$A:指定存放节假日的单元格区域

2. 判断工作日范围是否包含周三

通过生成日期序列并检查周几,判断交易覆盖的工作日中是否包含周三:

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(TEXT(INT([@DateTimeIn]),"yyyy-mm-dd")&":"&TEXT(INT([@DateTimeOut]),"yyyy-mm-dd")))=4))>0
  • ROW(INDIRECT(...)):生成交易起始到结束的日期序列
  • WEEKDAY(...,4):周三对应返回值为4(默认周日=1)
  • --:将布尔值转换为数字,SUMPRODUCT求和后大于0则说明包含周三

3. 判断交易结束时间是否晚于17:00 ET

提取结束时间的时间部分,与17:00对比:

=MOD([@DateTimeOut],1)>"17:00"
  • MOD([@DateTimeOut],1):提取日期时间中的纯时间部分

整合计算掉期费

结合上述三个条件,按照规则计算掉期费(晚于17:00 ET触发,含周三则3倍,否则1倍):

=IF(
    MOD([@DateTimeOut],1)<="17:00",
    0,
    IF(
        SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(TEXT(INT([@DateTimeIn]),"yyyy-mm-dd")&":"&TEXT(INT([@DateTimeOut]),"yyyy-mm-dd")))=4))>0,
        3,
        1
    )
)
  • 逻辑说明:
    1. 若结束时间不晚于17:00 ET,掉期费为0
    2. 若结束时间晚于17:00 ET,且交易覆盖的工作日包含周三,掉期费为3倍
    3. 其他晚于17:00 ET的情况,掉期费为1倍

内容的提问来源于stack exchange,提问作者Matteo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:43:18