从多行多列区域中提取不重复值到一列
导读:要将一个多行多列区域中不重复的数据提取到一列,即对于重复的数据只提取一次,最直接的做法是先将该区域的数据转到一列中,再利用Excel2007/2010中的删除重复项功能去掉重复值。
要将一个多行多列区域中不重复的数据提取到一列,即对于重复的数据只提取一次,最直接的做法是先将该区域的数据转到一列中,再利用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代码利用Dictionary对象中的关键字具有唯一性的特点得到不重复值。使用方法是按Alt+F11打开VBA编辑器,在代码窗口中粘贴下列代码并运行,即可在F列可得到A2:C11区域中的不重复值。
Sub Uniquedata()
Dim rCell As Range
'创建Dictionary对象
Set d = CreateObject("Scripting.Dictionary")
'遍历数据区域的单元格
For Each rCell In Range("A2:C11")
'判断单元格是否为空
If rCell "" Then
'如果Dictionary对象中不包含指定的关键字就添加该关键字和条目
If Not d.exists(rCell.Value) Then d.Add rCell.Value, rCell.Value
End If
Next
'清除指定列内容
Range("F2:F" & Range("F2").End(xlDown).Row).ClearContents
'将Dictionary对象中的条目写入指定列
Range("F2").Resize(d.Count) = WorksheetFunction.Transpose(d.Items)
End Sub
- 上一篇: Excel2007巧用关联列表减轻数据录入工作量
- 下一篇: WPS2011表格计算出纳税额

- 发票二维码扫不出来能报销吗 2025-12-18
- 研发费用加计扣除减免税怎么计算 2025-12-20
- 个税申报怎样作废重新申报 2025-12-18
- 其他应付款如何少交税 2025-12-20
- 部分红冲的发票还可以抵扣吗 2025-12-20
- 其他应收款3年以上怎么处理 2025-12-20
- 党费上交会计如何分录 2025-12-27
- 银行汇票代理付款人是什么意思 2026-02-25
- 运输公司的汽车修理费用计入什么科目 2025-12-19
- 增值税普通发票跨月作废怎么处理 2025-12-18
- 请问小规模纳税人是不是不用每个月填写《地方各项基金费申报表(工会经费)申报表》?要不然怎么会出现申报错误?我是零申报的。 2025-12-22
- 请教下,我们跟国外供应商采购的货品,如果不报关,就是快递或者手带回来,那我们可以有办法支付吗?就是付款的时候要付外汇出去。一般支付外汇是需要有进口报关单银行才会支付的对吗? 2026-03-02
- 注销公司时未分配利润太多了怎么办 2026-03-20
- 怎么把扫描出来的合同,做成PDF格式 2026-02-28
- 会计学堂还有另外一个软件,叫做会计考试go,可以练题,是吗 2026-04-01
- 麻烦发一个长投和金融工具之间的转换的分录总结 能发个总结的具体分录例子吗 2026-03-20
- 您好老师 @会计学堂-玉老师 我现在在一家做母婴用品的公司做会计,公司下面是五个门店,然后公司和五个店铺的账都是独立的。 现在公司好像注销了。现在账我在做,没报税。之前公司没注销之前有没报税我不知道,现在我在这里才开始干,这样我会有什么分险吗,该怎么避免呢。 2026-03-02
- 开票金额远远低于成本采购价 可以开发票吗 会引起税局怀疑吗 2026-01-06
- 老师请问下,代开发票认证时,销方是填写公司的税号还是代税务机关的税号 2026-02-19
- 老师,我们给其他公司投资,投资款如何做分录? 2026-01-13