2014-10-07 51 views
-3

我有超过200万条记录/行数据要分析。每行数据在列A中都有一个只在新任务开始时才更改的任务标识符。一个单独的任务可以有任意数量的记录(Excel中的行)。同一任务的行总是按照时间顺序排列,从最旧到最新。按组识别并输出第一个和最后一个记录

我的想法是遍历列A中唯一的任务标识符以确定与每个任务对应的行。一旦我确定了每一行的第一行和最后一行,就可以通过从该任务的最后一行的col C日期中减去第一行数据的col B中的日期来计算任务的AGE。

应将每个任务的唯一标识符,开始日期,结束日期和已用时间输出到工作簿中的其他工作表。

我该如何做到这一点?

+0

看起来像嵌套的'Do Until'循环或其他类似的结构。没有看到您的代码和数据的例子,就无法帮助您。 – 2014-10-07 00:27:48

+1

寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。另见[THIS](http://stackoverflow.com/help/mcve)。 – 2014-10-07 00:28:42

+1

拥有200万条记录,您至少有两个工作表。确保您查看所有工作表中的相似任务,以便为每项任务获得准确的第一个和最后一个条目。对于你以前的努力太糟糕了,但通常情况下,代码比重写更容易重写,所以我期待看到你以前的努力的例子。 – Jeeped 2014-10-07 02:24:05

回答

0

如果能够通过最新的任务范围内进行排序,并确保任何后续片开始在一个新的任务,并在每张纸上最后ColumnB和ColumnC值的行正下方的重复,公式可能适合:

=IF(A1<>A2,A1&"|"&VLOOKUP(A1,A:B,2,0)&"|"&C1&"|"&B2-VLOOKUP(A1,A:B,2,0),"") 

其中公式输出显而易见的列过滤以排除空白,将内容复制到另一个工作表并使用文本分栏,管道分隔和合适的格式进行分析。

相关问题