2014-12-04 41 views
0

這裏有一個headscratcher ...Excel中 - 找一個名稱的每個實例,並返回每個實例的列標題

我有一個巨大的電子表格(最多GA,397)與羣體在頂部的列表和所有這些組織的成員都從這些組織中走了出來。

(I也有在交替方向中的數據)

我有所有單獨的獨特成員和所有的組的列表。

我需要的是數據摘要,顯示成員和他們所屬的每個組的列表(理想情況下,組列在單獨的行或列中以便它們可以被過濾和搜索)。

我曾考慮過支點 - 但數據太大而難以實用,而且我對基本宏有少量的經驗。

有沒有人有任何建議?

感謝, 鮑比

+0

你可以把它放在[PowerPivot](http://www.microsoft.com/en-us/download/details.aspx?id=29074) - 處理像冠軍一樣的大型數據集。 – JasonAizkalns 2014-12-04 15:19:35

回答

0

如何下面的代碼:根據原始範圍

Sub test() Dim i As Integer Dim inputWS As Worksheet, outputWS As Worksheet Set inputWS = Sheets("input") Set outputWS = Sheets("output") i = 1 For Each cell In inputWS.Range("A2:B374") i = i + 1 outputWS.Cells(i, "A").Value = cell.Value outputWS.Cells(i, "B").Value = inputWS.Cells(1, cell.Column).Value Next End Sub

,你需要根據你的需要來修改範圍將從表格「輸入」中將其中的所有數據從其中填充,填充到列「A」的表格「輸出」,並且還將原始範圍的每個元素的標題(第一行的值)添加到「輸出」表格的列「B」中。這會給你一個更強大的列表來做一個關鍵。 P.S.這是很方便的當然只是如果我理解您的要求正確,這是不幸的是不明確的,因爲我倒是希望

編輯 以下從您的評論請嘗試以下操作:

Sub test() 
Dim col As Integer, rw As Integer, counter As Integer 
Dim inputWS As Worksheet, outputWS As Worksheet 
Set inputWS = Sheets("input") 
Set outputWS = Sheets("output") 
counter = 0 

For rw = 2 To inputWS.Cells(Rows.Count, 1).End(xlUp).Row 

    For col = 2 To inputWS.Cells(rw, Columns.Count).End(xlToLeft).Column 

    counter = counter + 1 
    outputWS.Cells(counter, 1).Value = inputWS.Cells(rw, col).Value 
    outputWS.Cells(counter, 2).Value = inputWS.Cells(rw, 1).Value 

    Next 
Next 

End Sub 

這將對輸出表中的數據進行標準化,將所有成員放入A列,將所有成員放入B列,創建多個條目,之後對數據進行一次數據透視,將成員放置爲行標籤和組作爲列標籤,然後進行計數值域中的字段。這意味着在每個名稱旁邊顯示組名稱後,它會在每個組頭名下面顯示非空白單元格,這是否可以接受?

+0

對不起 - 我不是很清楚。我有列A中的組列表和行中的所有成員列表。我需要的是列A中所有成員的列表以及它們在相應行中所屬的所有組。這更清楚/更容易嗎? – 2014-12-09 08:16:41

相關問題