【发布时间】:2016-05-07 21:55:04
【问题描述】:
我有来自单元格 A17:A29 的以下值
Col A ColH ColI
02494/1 191 191 Average
02585/3 77 77 Average
02341/1 22 131 (Average for same ID in ColA)
02341/1 218
我需要根据 Col A 中的相同 ID 对 Col H 中的值进行平均,并将平均值放在 Col I 中。由于 Col A ID 是字符串,我在 Col I 中没有收到错误 #N/A。以下我的代码是否首先尝试将 ID 转换为值。
Sub conver()
Range("A17:A20").Select
With Selection
Selection.NumberFormat = "General"
.Value = .Value
End With
End Sub
然后
Sub averag()
With Worksheets("averages")
Range("I17:I" & .Cells(.Rows.Count, 1).End(xlUp).Row).Formula = "= IF(A17<>A16,AVERAGEIF(A17:INDEX($A17:INDEX(A16:A55,MATCH(1E+99,A16:A55)+1),MATCH(TRUE,(INDEX($A17:INDEX(A16:A55,MATCH(1E+99,A16:A55)+1)<>A17,)),0)),A17,H17:INDEX($H17:INDEX(H17:H55,MATCH(1E+99,A16:A55)+1),MATCH(TRUE ,(INDEX($A17:INDEX(A16:A55,MATCH(1E+99,A16:A55)+1)<>A17,)),0))),"""")"
End With
End Sub
但它还没有工作。有人可以帮忙吗?或者有其他方法可以做到这一点。我无法更改 ID 格式。谢谢你。
【问题讨论】:
-
0249/1是否意味着您在一个单元格中有0249,或者您想将 0249 除以 1? -
仅复制和粘贴特殊值没有帮助吗?
-
@Scott 实际上它是一个 ID '02494/1" 而不是 249 除以 1。
标签: vba excel excel-formula