【发布时间】:2012-09-01 06:29:50
【问题描述】:
我正在修改我已经发布的问题。我的要求很简单。
DEFECT_ID LOG_TIME STATUS
1001 08/22/2012 12:03:34 打开
1001 08/22/2012 12:03:35 待定
1001 08/23/2012 02:13:46 已修复
1001 08/23/2012 22:34:37 测试就绪
1001 08/24/2012 12:34:43 待定
1001 08/24/2012 19:13:39 复测
1001 08/25/2012 22:13:40 重新开放
1001 08/26/2012 10:03:41 重新测试
1001 08/27/2012 11:13:42 关闭
上述格式是我的“源”数据。会有数百个这样的缺陷。如您所见,上述所有日志日期和状态都属于一个 Defect_ID(1001)。我的实际工作是我必须将上述数据复制到一张新表格中,格式可以帮助我计算状态之间的时间差。请注意,有“八”种缺陷状态:Open、Pending、Review、TestReady、Fixed、Retest、Reopen、Closed。这些缺陷状态可以在一个缺陷中出现多次(如上例所示,' Pending' 出现两次。但 open 和 closed 只会出现一次)。同样,对于一个缺陷,一个状态最多可以重复 6 次。所以我需要这样的输出,其中日志日期将适合相应的状态:
*Defect_ID* 打开 Pending1 Pending2...Pending6 Fixed1...Fixed6 TestReady1..Testready6 Review1..Review6 Retest1..Retest6 REopen1..REopen6 Closed
请告诉我如何发布图片。如果是这样,我可以向您展示我究竟需要如何通过 VBA 输出。请参考我的另一个问题:'通过 EXCEL VBA 为每个值创建新列,将与 ID 匹配的列中的值复制到新工作表',我所需要的就是,我需要为每个状态添加新列重复。这样我的所有值都将放在一行中。
【问题讨论】:
-
“通过 EXCEL VBA 为每个值创建新列,将与 ID 匹配的列中的值复制到新工作表” - 请参考此问题以获得更好的想法。我所需要的只是当“状态”重复时,然后我需要将该值也填充到“Defect_ID”的行中。我们可以为每个状态分配 5-6 列,并在它们出现时用“LOG”时间填充它们。我说清楚了吗???请帮助我......我真的很难做到这一点。每天我都在手动复制这个并做。
-
看看使用 COUNTIFS() 在您的状态列旁边添加一个“计数”列。添加第二列连接状态和计数。然后使用该连接列作为列标题创建一个数据透视表,并将 id 作为行标题。如果缺少列标题(例如没有pending6),则添加一个虚拟ID,其中包含您需要的所有必需状态值作为列标题。
-
谢谢蒂姆。但是有没有可能通过VBA实现它。上一个。问题具有适用于“状态”的一个实例的“VBA”代码。但是,如果您可以将其用于多个实例,那就太好了。我提到的问题是,在“第一条评论”中。
标签: vba excel grouping copying