我有一个电子表格,其中包含许多事务的数据集,每个事务都由子步骤组成,每个子步骤都有它发生的时间。步骤的数量和顺序可以是可变的。
我想找到每笔交易的持续时间。如果我可以在 Excel 中做到这一点,那就太好了,因为它已经是那种格式了。如果在 Excel 中没有直接的方法来执行此操作,我会将其加载到数据库中并使用 SQL 进行分析。如果有一个 Excel 方法,它会节省几个小时的设置虽然:)
我的数据的简化示例如下:
TransID, Substep, Time
1, step A, 15:00:00
1, step B, 15:01:00
1, step C, 15:02:00
2, step B, 15:03:00
2, step C, 15:04:00
2,步骤 E,15:05:00
2,步骤 F, 15:06:00 3,步骤 C,15:07
:00
3,步骤 D, 15:08:00
等。
我想生成一个结果集,如下所示:
TransID、持续时间
1、00 :02:00 2、00:03:00
3、00
:01:00
等。
我最初的尝试是使用一个额外的列,其中包含一个从开始时间减去结束时间的公式,但没有重复的步骤数,或者相同的开始和结束步骤我很难看到这个公式是如何工作的。
我还尝试基于此数据创建一个数据透视表,其中 ID 作为行,时间作为数据。我可以更改时间数据的字段设置以返回分组值,例如计数或最大值,但我很难看到如何设置它以显示每个 ID 的 max(time) - min(time),因此我为什么正在考虑使用 SQL。如果有人能指出我遗漏的任何明显内容,我将不胜感激。
正如 Hobbo 所建议的,我现在使用了一个以 TransID 作为行的数据透视表,并两次添加了 Time 作为数据。在第一个的 Time to Max 和第二个的 Min 设置字段设置后,可以在数据透视表之外添加一个公式来计算差异。我在这里忽略的一件事是,可以多次将相同的值添加到数据部分!
一个后续问题是我添加的公式是 =GETPIVOTDATA("Max of Time",$A$4,"ID",1)-GETPIVOTDATA("Min of Time",$A$4,"ID" ,1),复制和粘贴时不会增加。解决方案是使用数据透视表工具栏来关闭 GETPIVOTDATA 公式,或者在选择公式中的单元格时不要单击数据透视表,而是键入单元格引用(例如 =H4-G4)