2011-06-26 34 views
0

我一直在尋找這個問題的答案,需要一些更多的細節。Excel - 確定單列數據中非數值結果的頻率

https://stackoverflow.com/questions/5972947/frequency-of-strings-in-an-excel-column-pretty-sure-this-requires-vbscript/6482519#6482519

我看答案2號,由克里斯·尼爾森,使用數據透視表來確定每個結果的名稱列的計數。兩個問題,數據透視表中產生的「名稱計數」列如何?其次,如果在數據透視表創建之後添加了另一個名稱(即將Sarah添加到單元格A9),表格會自動更新嗎?

我有一個非數值數據列將定期更新。我很難創建顯示每個結果頻率的數據摘要,並且規定當項目添加到列表中時摘要也會更新。看起來數據透視表是最好的解決方案,但我願意接受其他建議。

回答

2

1.瞭解透視表

下面是幾個環節,以幫助您更好地瞭解什麼是數據透視表,以及如何使用它們:

您會在那裏找到如何創建「計數名稱」列。如果沒有,請詢​​問更多信息。

2.更新數據透視表

順便說一句,您可以更新通過右鍵點擊透視表的數據透視表數據,然後選擇「更新」(也可以用驚歎號按鈕) 。更多信息可以在這裏找到:http://ulearnoffice.com/excel/pivot.htm(更新數據章節)。

3回答你的問題

透視表似乎是這裏一個很好的解決方案。你應該嘗試,如果它不起作用,請讓我們知道,也許我們將能夠幫助你。

1
  1. 您可以通過拖動「名稱」字段複選框到透視表字段窗口中的值窗口創建「名稱的計數」列。當我在我的Excel版本(2007)中執行此操作時,它默認爲「計數名稱」。如果您的說明中有其他說明,請左鍵單擊「值」窗口中的字段,然後選擇「值字段設置」。從那裏您可以指定要顯示Excel的名稱的統計信息。

  2. 如果您添加數據,您可以通過更改數據源來手動更新數據透視表。或者(更好的選項),您可以使用工作表更改觸發事件來自動更新數據透視表。這是一些VBA代碼。

    Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
    
    Dim names As Range 
    
    'Change 1 to number of your data column (A=1, B=2, ...) 
    If Target.Column = 1 Then 
        'Change "A1" to the first cell (header) of your column of data. Keep quotes. 
        Set names = ActiveSheet.Range("A1", ActiveSheet.Range("A1").End(xlDown)) 
    
        'Change "PivotTable1" to name of your pivot table. Keep quotes. 
        ActiveSheet.PivotTables("PivotTable1").ChangePivotCache _ 
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _ 
        SourceData:=names, Version:=xlPivotTableVersion12) 
    End If 
    End Sub 
    

在Excel(按Alt + F11)打開VBA中輸入驗證碼。在對象瀏覽器中,右鍵單擊包含數據的工作表(列在Microsoft Excel對象下)。選擇「查看代碼」。粘貼代碼,你應該設置。