6 microsoft-excel microsoft-excel-2010
我正在尝试修改这个 Excel 文档。除了AdminTime列 (Column H)之外,它具有相同的连续行组。当一组连续的行具有相同的LastRxNo(Column C)值时,我知道它们除了 Column 之外是相同的 H。我想将组中的行合并为一行,其中AdminTime包含AdminTime组中所有行的值的列,以逗号分隔。
这是我希望它看起来像的图片
有任何想法吗?我在想一个 IF 函数,但我对 Excel 不太熟悉,无法让它工作。
使用 Excel 中的 Microsoft Query 工具从 SQL 表中提取所有内容;这是查询:
这是一个相当快速且混乱的宏,还有很多工作要做,但您会明白的。它还假定您的原始工作表(“Sheet1”)按 LastRxNo 排序。如果您能够在 SQLServer 中添加和调用函数,那么这将是一项更简单且不易出错的任务。希望这可以帮助您入门。它输出到一个名为“summary”的工作表
Sub conCatTimes()
Dim rx As String
Dim admTimes As String
Dim tmp As String
Dim i As Long
Dim LastRow As Long
LastRow = Sheets("Sheet1").Range("C" & ActiveSheet.Rows.Count).End(xlUp).Row
rx = ""
i = 1
For Each cell In Sheets("Sheet1").Range("C2:C" & LastRow)
If rx <> cell Then
rx = cell
i = i + 1
tmp = ""
End If
tmp = cell.Offset(0, 11)
admTimes = admTimes + tmp + ", "
If cell.Offset(1, 0) <> rx Then
Sheets("summary").Range("A" & i) = rx
Sheets("summary").Range("B" & i) = Left(admTimes, Len(admTimes) - 2)
admTimes = ""
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12658 次 |
| 最近记录: |