如何根据值 select 列 "A" 中的行并对列 "F" 中的相应单元格执行操作?
How to select rows in column "A" based on values and take actio on corresponding cells in column "F"?
我对如何完成这项任务一头雾水,如有任何帮助,我们将不胜感激。我有一个包含大约 9000 行的电子表格(如下所示的片段),我正在尝试执行以下操作:
1) 如果 A 列中的值相同,则 G 列中的 Select 个单元格合并所选单元格。
2) Select F 列中的单元格,如果 A 列中的值相同,则计算所选单元格的平均值,并在上面任务 1 的合并单元格中输入结果。
我曾尝试通过 Excel 中的宏来完成此操作,但是,我缺乏获得所需结果的 programming/scripting 技能。
1. A B C D E F G
2. 21004 High date1 date2 date3 51
3. 21004 High date1 date2 date3 51
4. 21004 High date1 date2 date3 51
5. 21004 High date1 date2 date3 60
6. 21003 High date1 date2 date3 21
7. 21003 High date1 date2 date3 44
8. 21011 High date1 date2 date3 55
9. 21011 High date1 date2 date3 58
10. 21405 High date1 date2 date3 91
11. 21405 High date1 date2 date3 36
Sub AverageFinG()
Dim topA As Range, bottomA As Range, sliceF As Range, sliceG As Range
Set topA = Cells(1, 1)
Do Until IsEmpty(topA.Value)
Set bottomA = topA
Do While bottomA.Offset(RowOffset:=1).Value = bottomA.Value
Set bottomA = bottomA.Offset(RowOffset:=1)
Loop
Set sliceF = Range(topA, bottomA).Offset(ColumnOffset:=5)
Set sliceG = sliceF.Offset(ColumnOffset:=1)
sliceG.Merge
sliceG.Formula = "=AVERAGE(" + sliceF.Address + ")"
Set topA = bottomA.Offset(RowOffset:=1)
Loop
End Sub
我对如何完成这项任务一头雾水,如有任何帮助,我们将不胜感激。我有一个包含大约 9000 行的电子表格(如下所示的片段),我正在尝试执行以下操作:
1) 如果 A 列中的值相同,则 G 列中的 Select 个单元格合并所选单元格。 2) Select F 列中的单元格,如果 A 列中的值相同,则计算所选单元格的平均值,并在上面任务 1 的合并单元格中输入结果。
我曾尝试通过 Excel 中的宏来完成此操作,但是,我缺乏获得所需结果的 programming/scripting 技能。
1. A B C D E F G
2. 21004 High date1 date2 date3 51
3. 21004 High date1 date2 date3 51
4. 21004 High date1 date2 date3 51
5. 21004 High date1 date2 date3 60
6. 21003 High date1 date2 date3 21
7. 21003 High date1 date2 date3 44
8. 21011 High date1 date2 date3 55
9. 21011 High date1 date2 date3 58
10. 21405 High date1 date2 date3 91
11. 21405 High date1 date2 date3 36
Sub AverageFinG()
Dim topA As Range, bottomA As Range, sliceF As Range, sliceG As Range
Set topA = Cells(1, 1)
Do Until IsEmpty(topA.Value)
Set bottomA = topA
Do While bottomA.Offset(RowOffset:=1).Value = bottomA.Value
Set bottomA = bottomA.Offset(RowOffset:=1)
Loop
Set sliceF = Range(topA, bottomA).Offset(ColumnOffset:=5)
Set sliceG = sliceF.Offset(ColumnOffset:=1)
sliceG.Merge
sliceG.Formula = "=AVERAGE(" + sliceF.Address + ")"
Set topA = bottomA.Offset(RowOffset:=1)
Loop
End Sub