點上方關注
Excel基礎學習園地 公衆号“ Excel基礎學習園地 ”是一個免費釋出Excel基礎知識、函數應用、操作技巧、學習方法等資訊的公衆号,請點選上方“ Excel基礎學習園地 ”添加關注,友善我們每天向您推送精彩資訊。
要将一個多行多列區域中不重複的資料提取到一列,即對于重複的資料隻提取一次,最直接的做法是先将該區域的資料轉到一列中,再利用Excel2007/2010中的删除重複項功能去掉重複值。另外,還可使用資料透視表、數組公式和VBA的方法來提取,本文以Excel 2010為例分别介紹如下:
假如資料在A1:C11區域,其中還包含一些空單元格,如圖所示。
方法一:利用資料透視表
利于資料透視表的多重合并計算功能,将上述資料區域作為資料透視表的多重合并計算資料區域,把“值”字段放到在資料透視表的行區域中,即可得到不重複值。步驟如下:
1、在區域左側插入空白列。如果原資料區域不是從A列開始,則可跳過此步驟。在本例中,由于原資料區域包含工作表的第一列(A列),需先在該區域的左側插入一個空白列,作為資料透視表的行字段。
2、選擇資料區域中的某個單元格,按Alt+D,再按P鍵,打開“資料透視表和資料透視圖向導”,選擇“多重合并計算資料區域”項,單擊“下一步”。
3、再次單擊“下一步”,在彈出的對話框中選擇并添加資料區域。在選擇區域時注意要包含原資料區域的左側列及标題列。本例為包含上述空白列的A1:D11。
單擊“下一步”,在彈出的對話框中選擇資料透視表存放的位置,單擊“完成”按鈕。本例将資料透視表放置在目前工作表F3單元格開始的區域中。
4、在資料透視表的字段清單中取消選擇所有字段,然後再次勾選“值”字段,或将“值”字段拖入到“行”标簽區域中,即可在F列得到原區域中的不重複值。
方法二:使用數組公式
假如資料在A1:C11區域,在E2單元格中輸入數組公式:
=INDIRECT(TEXT(MIN(IF(($A$2:$C$11<>"")*(COUNTIF($E$1:E1,$A$2:$C$11)=0),ROW($2:$11)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
公式輸入完畢,按Ctrl+Shift+Enter結束。然後拖動填充柄向下填充公式,直到出現空白為止。
如果區域中的資料全部為數字和空單元格,還可用下面的數組公式:
=LARGE(IF($A$2:$C$11="","",$A$2:$C$11),SUM(COUNTIF($A$2:$C$11,$E$1:E1))+1)
方法三:使用VBA
略……
想學習這段代碼可以聯系老菜鳥,當然需要一點VBA基礎才能聽得懂哦!
會員制學習特色:
1、基本功能與常用函數通過下發的視訊了解;
2、自己急需了解或者比較薄弱的環節通過定制課程由老師講解;
3、通過日常交流迅速積累經驗,在他人的問題中了解更多的使用技能;
4、成本效益高,學習效果好,可以更有效的學到實用技能。