Excel 如何对一列数据进行排序并与具有某些单元格的另一列数据匹配
How to sort one column data and match to another column data with some cells was merged in Excel
我正在尝试对 colum 数据进行排序并与 Excel 2013 中的另一列数据匹配。我不知道如何解释更多,因为我真的很业余使用 excel,所以我有 table 像这样:
|Date | Technician | Task |
|----------|------------|------------|
|01/01/2020| CLOSED |
|02/01/2020|Cindy |Check |
|02/01/2020|Cindy |Repair |
|03/01/2020|Cindy |Check |
|03/01/2020|Cindy |Maintenance |
|04/01/2020|Joe |Repair |
|05/01/2020| CLOSED |
|06/01/2020|Joe |Maintenance |
|06/01/2020|Steph |Check |
我正在尝试像这样排序和匹配:
|Date | Technician | Task |
|----------|------------|------------|
|01/01/2020| CLOSED |
|02/01/2020|Cindy |Check |
|02/01/2020|Cindy |Check |
|03/01/2020|Cindy |Maintenance |
|03/01/2020|Cindy |Repair |
|04/01/2020|Joe |Maintenance |
|05/01/2020| CLOSED |
|06/01/2020|Joe |Repair |
|06/01/2020|Steph |Check |
我通常使用数据库 sql,如果它在 SQL 查询中,它应该是:
select technician, task from employee order by technician, task asc;
但目前我没有使用数据库 sql,只是 excel。希望有人能帮助我也为我的英语感到抱歉。
欢迎来到 SO。这一切都可以使用 Excel 公式(根据您的 excel-formula
标签),但我认为最简单的方法是实际使用本机 Excel 功能。
步骤 1 - select 您的数据(我假设您的数据存储在单元格 A1:B8 中)
步骤 2 - 转到 Home > Sort & Filter > Custom Sort...
- 检查 "My data has headers" 选项并添加第一级(技术员),然后使用 "Add Level" 按钮并添加第二级(任务):
这是您的最终结果:
编辑 - 为了取消合并 B 列中的所有单元格,您需要 运行 以下代码:
Sub UnMergeCells()
Dim lngRows As Long
Dim lngRow As Long
With Sheets("Sheet1")
lngRows = .UsedRange.Rows.Count
For lngRow = 2 To lngRows
If .Range("B" & lngRow).MergeCells Then
.Range("B" & lngRow).MergeArea.UnMerge
End If
Next lngRow
End With
End Sub
然后您可以按照我在原文 post ("Custom Sort") 中描述的三个步骤进行操作。
完成后,您可以通过 运行 执行以下代码将所有单元格合并回之前的状态:
Sub MergeCells()
Dim lngRows As Long
Dim lngRow As Long
With Sheets("Sheet1")
lngRows = .UsedRange.Rows.Count
For lngRow = 2 To lngRows
If .Range("B" & lngRow).Value = "CLOSED" Then
.Range("B" & lngRow & ":C" & lngRow).Merge
End If
Next lngRow
End With
End Sub
我正在尝试对 colum 数据进行排序并与 Excel 2013 中的另一列数据匹配。我不知道如何解释更多,因为我真的很业余使用 excel,所以我有 table 像这样:
|Date | Technician | Task |
|----------|------------|------------|
|01/01/2020| CLOSED |
|02/01/2020|Cindy |Check |
|02/01/2020|Cindy |Repair |
|03/01/2020|Cindy |Check |
|03/01/2020|Cindy |Maintenance |
|04/01/2020|Joe |Repair |
|05/01/2020| CLOSED |
|06/01/2020|Joe |Maintenance |
|06/01/2020|Steph |Check |
我正在尝试像这样排序和匹配:
|Date | Technician | Task |
|----------|------------|------------|
|01/01/2020| CLOSED |
|02/01/2020|Cindy |Check |
|02/01/2020|Cindy |Check |
|03/01/2020|Cindy |Maintenance |
|03/01/2020|Cindy |Repair |
|04/01/2020|Joe |Maintenance |
|05/01/2020| CLOSED |
|06/01/2020|Joe |Repair |
|06/01/2020|Steph |Check |
我通常使用数据库 sql,如果它在 SQL 查询中,它应该是:
select technician, task from employee order by technician, task asc;
但目前我没有使用数据库 sql,只是 excel。希望有人能帮助我也为我的英语感到抱歉。
欢迎来到 SO。这一切都可以使用 Excel 公式(根据您的 excel-formula
标签),但我认为最简单的方法是实际使用本机 Excel 功能。
步骤 1 - select 您的数据(我假设您的数据存储在单元格 A1:B8 中)
步骤 2 - 转到 Home > Sort & Filter > Custom Sort...
- 检查 "My data has headers" 选项并添加第一级(技术员),然后使用 "Add Level" 按钮并添加第二级(任务):
这是您的最终结果:
编辑 - 为了取消合并 B 列中的所有单元格,您需要 运行 以下代码:
Sub UnMergeCells()
Dim lngRows As Long
Dim lngRow As Long
With Sheets("Sheet1")
lngRows = .UsedRange.Rows.Count
For lngRow = 2 To lngRows
If .Range("B" & lngRow).MergeCells Then
.Range("B" & lngRow).MergeArea.UnMerge
End If
Next lngRow
End With
End Sub
然后您可以按照我在原文 post ("Custom Sort") 中描述的三个步骤进行操作。 完成后,您可以通过 运行 执行以下代码将所有单元格合并回之前的状态:
Sub MergeCells()
Dim lngRows As Long
Dim lngRow As Long
With Sheets("Sheet1")
lngRows = .UsedRange.Rows.Count
For lngRow = 2 To lngRows
If .Range("B" & lngRow).Value = "CLOSED" Then
.Range("B" & lngRow & ":C" & lngRow).Merge
End If
Next lngRow
End With
End Sub