2016-09-15 14 views
2

我在Excel中有一個數據表。列A包含名稱,列B包含他們的興趣。每個興趣都有一個獨立的行。我想從此表中獲取數據,併爲其每個興趣的客戶名稱和列添加一行。 IE瀏覽器的原始數據:數據表想分組,轉置匹配值同一行

enter image description here

我期待通過名稱取4000行的表和分組。我不確定每個名字多少次出現在列表中(一旦或五十次),但我想在一個單獨的列EG期望的數據放在一排,每個感興趣的利益:

enter image description here

我有試過了標準的轉置.... html table ....和數據透視表,但是它會把所有的利益都放在頂端,無論客戶是否感興趣,並且使用記錄數T/F來表示數據如果我把它作爲一個塊,並按名稱排序

當然,我並不孤單,但過去2小時的所有搜索不斷返回樞軸/轉置或重複的項目。任何被讚賞

+0

您是否允許編寫和執行VBA腳本?如果是的話,我會把原始數據放入一個數組中,並在完成時吐出它們。 –

回答

0

如果您不想使用VBA,您可以先添加一列,例如C列中的標題爲「InterestNum」。

在C2,只是把1

在C3,把=COUNTIF($A$2:$A2, $A3) + 1。這會發現它對這個人的興趣。

做一個查找列,例如在列D.在D2,把=A2&C2

然後,讓所有的人的名單。我假設你把這個列表從一個新表的單元格A2開始。然後把標題從B1開始,這樣B1包含標題「1」,C1包含標題「2」代表利息號碼和任意多列。

然後在單元格B2,就把式=IF(ISNA(MATCH($A2&B$1,data!$D$2:$D$5,0)),"",INDEX(data!$B$2:$B$5,MATCH($A2&B$1,data!$D$2:$D$5,0)))

這假定原來的數據是data標籤。我只用4行進行測試,因此您需要將$D$2:$D$5更改爲具有與您相同的行數。這通過查找姓名和興趣號碼的組合來工作。它首先檢查數據中是否存在該組合。如果不是,則會將該利息留空。如果是這樣,它通過進入查找的同一行找到實際的興趣。

+0

嗨非常感謝。不幸的是,我可以擁有140種不同的興趣類型,而普通客戶只有5-10個......特定列中的某些數字使得它有點繁重導航。如果最終用戶滾動瀏覽數據有查詢,他們可以採取行並複製/粘貼,或者他們可以連接成一個單一的值,使電子郵件更容易。理想的情況下,需要採取不明數量的興趣,並將他們分組,只有他們有價值。再次感謝 –

+0

生成您在問題中請求的輸出表。我不明白你對我提供的是什麼反對意見。你是否要求與你問題中的輸出表不同的東西? – OpiesDad

+0

嗨 這將工作對待我有一些較小的數據集,但我認爲當你說爲每個興趣創建一列,這將意味着,因爲我有140個興趣,這是140列,我會得到一個二進制1在該列標題下。 這意味着導航我將不得不向上滾動140列...請糾正我,如果我誤解了。 我之後的實際文字值只算不算。 再次感謝 –

0

首先使用標準的excel功能刪除重複,以防止一次有兩次相同的興趣。

現在,你當然可以使用VBA,並執行你所需要的。 但是,我建議你使用數據透視表。 如果您的數據看起來是這樣的......

raw data

...只需使用「插入|透視表」,並插入一個數據透視表到新工作表。 然後,配置列如下:

pivot result

的Et瞧,你有你所有的利益列出只有一次,如果一個人相同的興趣,有一個「1」。

如果你寧願使用VBA,只是評論,我會編輯我的答案。

+0

HI 非常感謝。 我試圖使用樞軸,但不幸的是我有140種不同的興趣類型,平均客戶將只有5-10之間.....有些人有更多,但他們在少數。這使得數據透視表有點野獸來瀏覽 再次感謝 –

+0

@MiloHarvey哦,我明白了。你有沒有使用VBA的經驗? – codeguy

+0

有限。我可以做HTML,SQL和apex,但由於某種原因無法將其轉換爲VBA。基於查詢的東西很酷,但格式渲染似乎是我的問題 –