2014-10-07 58 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),"") 

其中公式輸出顯而易見的列過濾以排除空白,將內容複製到另一個工作表並使用文本分欄,管道分隔和合適的格式進行分析。

相關問題