2011-07-29 33 views
1

我有一個電子表格,其中包含大量數值數據,全部排列在一列中。數據通過使用關鍵字分解。查找excel中單元格內部出現字符串時的問題

KEYWORD 
1 
2 
3 
4 
5 
KEYWORD 
1 
2 
KEYWORD 
. 
. 
. 

我想知道是否有辦法迅速採取關鍵字的每個實例之間的平均值,並在單元格設置爲剛平均面積的權利。我從來沒有做過任何真正的鐵桿VBA腳本,所以我完全處於虧損狀態。

回答

2

這應該這樣做。不過,可能有更好的方法。

Sub GetAverages() 
    Dim sum As Single 
    Dim count As Long 
    Dim cell As Range 

    For Each cell In ActiveWorkbook.ActiveSheet.Range("a1", ActiveSheet.Range("A1").End(xlDown)) 
     If CStr(cell.Value) = "KEYWORD" Then 
      If count > 0 Then 
       ActiveWorkbook.ActiveSheet.Cells(cell.Row - 1, cell.Column + 1).Value = sum/count 
      End If 

      count = 0 
      sum = 0 
     Else 
      sum = sum + cell.Value 
      count = count + 1 
     End If 
    Next cell 
End Sub 

它輸出這對我的樣本數據...

KEYWORD 
92 
20 
93692 
936 
92   18966.4 
KEYWORD 
32 
324  178 
KEYWORD 
235 
324 
23 
3 
342 
2 
343 
34   163.25 
KEYWORD 
0

我不會用VBA。

使用這個公式欄旁柱值:

=IF(ISNUMBER(<columnName>);<columnName>;"") 

例如,如果你使用值列C,那麼

=IF(ISNUMBER(C1);C1;"") 

然後使用Average功能的新列:

=AVERAGE(D:D) 
相關問題