提问人:James Patrick-Gleed 提问时间:9/6/2023 更新时间:9/6/2023 访问量:51
数据表和最小值 IF?
Datatables, and Minimum Value IF?
问:
我有一个数据表,其中包含以下列和示例数据来描述我正在使用的内容。
确认编号 | 打卡 | 打卡 |
---|---|---|
500012 | 08:00 | 16:00 |
500013 | 08:00 | 11:00 |
500014 | 10:00 | 12:00 |
500015 | 15:00 | 17:00 |
在此示例中,我将对确认编号 500013 进行计算。
我使用此表来计算按比例预订的时间(即,如果两个时钟重叠,则它们重叠的时间应平均共享),我选择的方法是基本上计算每个相关时间事件之间重叠的时钟数量。
我需要找到某种方法来返回“时钟输入”和“时钟输出”列中的最小值,这些值晚于“扫描时间”。流程应如下所示:
- 确定在 08:00 开始时间,有两个时钟。
- 在此表中找到下一个值,即 10:00 500014的时钟。取 8 到 10 之间的两个小时,除以该持续时间 (2) 内的确认数,然后将 1 小时传递给保持变量。
- 由于下一个值是 Clock In,因此重叠确认数现在为 3。
- 在表中找到下一个值,即 11:00 的 500013 时钟。将该小时除以 3,传递给持有变量,按比例计算预订的总小时数为 1.3333333。
如果不逐个遍历整个列表,我就无法想出一种明智的方法来执行第 2 步。C# 中是否有任何内置的 MINIF 函数,就像在 Excel 中一样,可以在其中发送数字列表并返回最小的数字,但前提是约束认为它是真的(在这种情况下是 newtime > oldtime)?
如果遍历列表中的每个项目是唯一的方法,那么这就是我必须做的,但如果可能的话,我宁愿把它整齐地打包起来。
答: 暂无答案
评论