计算两个日期列(开始日期和结束日期)之间的工作日数(星期一至星期五)大家好,
我想在跳转 18 中创建一个列公式,用于计算两个日期列(开始日期和结束日期)之间的工作日(星期一至星期五)的数量。应排除周末(星期六和星期日)。该公式必须与JMP 的列公式编辑器兼容,并且不应产生任何错误。我不使用 JSL
提前感谢您的支持。
基础数据分析与建模数据探索与可视化回复:计算两个日期列(开始日期和结束日期)之间的工作日数(星期一至星期五)您能否提供具有正确结果的示例表和示例列?
回复:计算两个日期列(开始日期和结束日期)之间的工作日数(星期一至星期五)你好@克里斯蒂娜 ,
试试看。只需确保将底部的列名称更改为数据表中的名称即可。
谢谢,
本
Names Default to Here(1);
dt = Current Data Table();
//Wipe the old weekday count column if it exists from this script being ran
try(dt:Weekdays Count<<SET selected=""></SET>
<BR />
<BR />回复:计算两个日期列(开始日期和结束日期)之间的工作日数(星期一至星期五)这里有几个公式(不知道它们的性能如何)。根据您希望如何计算两个日期之间的差异,可能需要进行一些细微的调整
使用求和
</CODE></PRE>
<P>使用矩阵 + 总和</P>
<PRE><CODE class=" language-jsl">Sum(1 < Day of week(:start + (0::Date Difference(:start, :end, "day")) * In Days(1)) < 7)Summation(i = 0, Date Difference(:start, :end, "day"),
!(Day of week(:start + In Days(i)) == 7 | Day of week(:start + In Days(i)) == 1);
)
示例脚本
查看更多...
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(365),
Compress File When Saved(1),
New Column("start", Numeric, "Continuous", Format("d/m/y", 10), Input Format("d/m/y"), Formula(24Feb2025)),
New Column("end", Numeric, "Continuous", Format("d/m/y", 10), Input Format("d/m/y"), Formula(24Feb2025 + In Days(Row() - 1))),
New Column("Column 3",
Numeric,
"Continuous",
Format("Best", 12),
Formula(
Summation(i = 0, Date Difference(:start, :end, "day"),
!(Day of week(:start + In Days(i)) == 7 | Day of week(:start + In Days(i)) == 1);
)
)
),
New Column("Column 3",
Numeric,
"Continuous",
Format("Best", 12),
Formula(
Sum(1 < Day of week(:start + (0::Date Difference(:start, :end, "day")) * In Days(1)) < 7);
)
)
);
回复:计算两个日期列(开始日期和结束日期)之间的工作日数(星期一至星期五)你好,
感谢您的快速回复!根据我的数据,上述两个公式都得出了相同的结果。我提供了一些示例数据。
例如:结束日期为 2025.01.31,开始日期为 2025.01.23。两个公式的结果都是 7。
这是 7 个工作日,所以也感谢你们提供正确的解决方案:)ChatGPT 无法解决这个问题