EXCEL中如何用公式从重复项中提取唯一值

EXCEL中经常用到表格记一些流水账,希望在不断追加记录时自动统计出结果,固定的项目名称可以预先写出来,但追加的新记录中可能有新名称不断出现,且不知道这些名称前面有没有出现过,逐一查找比对是不现实的,这时就要想办法去重。

操作方法

  • 01

    比如要统计下表中每种水果的销售量,首先要列出每种水果的名称,然后用求和公式很容易可以做到:=SUMIF(B:B,F2,C:C)

  • 02

    在汇总之前,首先要从销售明细中将水果名称提取出来,如果名称是固定的那几个,可以复制B列,到F列粘贴,然后再从“数据“选项卡中,单击“数据工具”中的“删除重复项”即可得到各种不同的水果名。

  • 03

    或者用“数据透视表”以水果名为标签进行数量求和。

  • 04

    但不管用“删除重复项”还是用“数据透视表”,当有新的不同名称增加时,都不会自动改变,还要重复进行上面的步骤,尤其是后者,即使是已有的名称,追加或修改记录时都要重复处理。

  • 05

    因此对不断动态变化的数据进行汇总,用上面的方法并非良策,用公式法就可以解决要不断重复操作的问题,从B列中提取到不同的名称到F列,并向下扩大填充区域。

  • 06

    公式法就是要从上往下遍历,当单元格中的数据是第一次出现时,就将其取出来,非第一次出现就不取,因此可以使用MATCH函数,此函数返回该项在区域中的相对位置:=MATCH(B2,$B$1:B2,0),可以看出当返回的次序号与行号相同时,表示第一次出现,不同则代表上面已经出现过。

  • 07

    通常情况下,用IF函数来判断,如果上述条件为真,则返回水果名,为假返回空值:=IF(MATCH(B2,$B$1:B2,0)=ROW(2:2),B2,"")

  • 08

    不过这还不是想要的结果,在汇总时,特别是数据量大,重名较多的情况下,总不能看着汇总结果断断续续的吧,因此要将提取出来的结果去掉空单元,直接连在一起,此时就要用到数组公式,凡是符合条件的就返回行号,不符合的不要(通常用返回一个很大的数),然后再用SMALL函数,从上往下依次符合条件的行号:=SMALL(IF(MATCH($B$2:$B$1000&"",$B$2:$B$1000&"",0)=ROW($2:$1000)-1,ROW($2:$1000),4^8),ROW(1:1)),这是数组公式,数组公式与普通公式的编辑方式不同,编辑完成后,必须同时按住Ctrl+Shift+Enter三键结束公式编辑,会自动生成一对“{}”,这是数组公式的特征。

  • 09

    上面公式中的4^8,就是4的8次方,其值为65536,公式中用此值,是因为03版及以前的软件最多只有65536行,几乎不会在最后一行输入数据,从而当公式中返回此行中的数据时,是空值。MATCH函数返回的次序是从1开始的,现在的区域是从第二行开始的,所以公式中要用行号-1,返回行号后,再用INDEX函数返回相应行号的数据:=INDEX(B:B,SMALL(IF(MATCH($B$2:$B$1000&"",$B$2:$B$1000&"",0)=ROW($2:$1000)-1,ROW($2:$1000),4^8),ROW(1:1)))

  • 10

    从图中可以看出后面有许多0,这也不是想要的,出现这种情况,就是因为前面用了4^8,返回了B65536这个单元格的数据,这个单元格其实并没有数据,不做处理真正的空值会返回0,所以需要再加个判断,让其不返回无用的0,对于文本有更简单的处理方法,只要在公式后面再加个空值符号,空单元就会返回空值,不会返回0了:=INDEX(B:B,SMALL(IF(MATCH($B$2:$B$1000&"",$B$2:$B$1000&"",0)=ROW($2:$1000)-1,ROW($2:$1000),4^8),ROW(1:1)))&""

  • 11

    同样的对求和公式也要加个判断,在没有名称的情况下,不要出现0值:=IF(F2="","",SUMIF(B:B,F2,C:C))

  • 12

    输入公式并向下填充后,再追加记录时,就可以看到会自动跟随改变汇总结果,非常方便。

(0)

相关推荐

  • Excel 2013如何选出表中的重复项并提取出唯一值

    在一个表格中可能会有多个重复值,我们想把所有重复的值,只保留一个,怎样实现呢?下面就来介绍一下Excel2013如何选出表中的重复项并提取出唯一值 操作方法 01 选中姓名列,单击条件格式,突出显示单 ...

  • 在Excel中怎么去掉数据的重复项?

    在工作中使用Excel时,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项,保留唯一的数据:本文将告诉您如何使用Excel对数据进行去掉重复项,来看看吧! 步骤 1.打开一个空白的excel ...

  • Excel表格中怎样标记和删除重复项

    在工作中,Excel使我们最常用的软件之一,熟悉了Excel的使用,能让我们在工作中事半功倍,下面小编以示例介绍在Excel表格中怎样标记和删除重复项 操作方法 01 标记重复项:打开需要操作的数据( ...

  • 在Excel中如何用Tanh函数返回任意实数的双曲正切值?

    在Excel的使用中,我们有时需要用到Tanh函数返回任意实数的双曲正切值,那么具体该怎么做呢?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 1.Excel中返回任意实数的双曲正切值需要用到T ...

  • 如何在Excel表格里使用公式查找重复值

    Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么在Excel表格里使用公式查找重复值,小编为大家解答这个问题.具体如下:1. 首先,请大家在自己的电脑中 ...

  • Excel如何把一列里重复项(相同的数据)提取一个

    Excel如何把一列里重复项(相同的数据)提取一个 操作方法 01 如图,目的是在多行数据中提取重复项(组名与组号)的值,做成列表. 02 方法是选中A列或B咧任意一重复项所在列,然后执行[数据]-[ ...

  • 在WPS表格中怎么查找并删除重复项

    我们在使用WPS表格处理大量数据的时候,想要将数据中的重复值查找出来并删除,保留唯一值,该怎么操作呢?今天就跟大家介绍一下在WPS表格中怎么查找并删除重复项的具体操作步骤.1. 首先打开电脑上想要编辑 ...

  • 怎么使用删除重复项快速提取出最新信息?

    在工作中我们难免会要提取出一些最近一次日期的各项目的明细情况,但是用公式复杂,自己略懂:手动选择又浪费时间.那我们该如何巧用删除重复项来提取最新信息呢? 操作方法 01 首先,我们打开一张表格先将鼠标 ...

  • 如何在excel中进行分列、删除重复项、合并计算

    excel中有一块强大的功能区叫"数据工具",它能帮你快速地实现一系列功能,这篇介绍的就是里面最常用到的"分列"."删除重复项"." ...