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

作者&投稿:戈晶 (若有异议请与网页底部的电邮联系)
~ EXCEL中经常用到表格记一些流水账,希望在不断追加记录时自动统计出结果,固定的项目名称可以预先写出来,但追加的新记录中可能有新名称不断出现,且不知道这些名称前面有没有出现过,逐一查找比对是不现实的,这时就要想办法去重。
比如要统计下表中每种水果的销售量,首先要列出每种水果的名称,然后用求和公式很容易可以做到:=SUMIF(B:B,F2,C:C)

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

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

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

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

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

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

不过这还不是想要的结果,在汇总时,特别是数据量大,重名较多的情况下,总不能看着汇总结果断断续续的吧,因此要将提取出来的结果去掉空单元,直接连在一起,此时就要用到数组公式,凡是符合条件的就返回行号,不符合的不要(通常用返回一个很大的数),然后再用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三键结束公式编辑,会自动生成一对“{}”,这是数组公式的特征。

上面公式中的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)))

从图中可以看出后面有许多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)))""

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

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


为什么在excel2010中公式不自动变?
因为没有勾选“自动重算”这个选项。勾选“自动重算”选项的方法:工具\/原料 电脑xcel2007 方法\/步骤 1、首先,打开出现问题的excel文档。2、在主界面,点击上方的excel图标。3、弹出选项卡,最下方的“excel选项”。4、弹出窗口左侧,点击“公式”。5、在右侧,选中“自动重算”,点击“确定”。6、...

EXCEL求公式:查找相应内容进行自动填充
下面这两个公式能看懂吗?公式1:B2=LOOKUP(,0\/(Sheet1!B$2:B$10=A2),Sheet1!A$2:A$10)公式2:D2=INDEX(Sheet1!$A$2:$A$10,MATCH(A2,Sheet1!B$2:B$10,))两个公式都可以,也都是比较容易懂的。

标准差excel用什么函数
标准差在E来自xcel中,可以使用STDEV函数来计算。STDEV函数的语法为:STDEV(number1, number2, ...)。其中,number1为要计算标准差的数据区域,可以包含多个数值。如果需要同时计算多个数组的标准差,则可以在函数中依次输入这些数组。例如,假设有一组数据存储在A1:A10单元格中,我们可以使用以下公式计算...

xcel函数公式 有很多表每张表都有不同的人名,人数、顺序不一样,但都...
用VBA来做吧 把所有表都放在一个目录下 在一主表中遍历统计 做好模板后,要用时运算一两分钟吧就可以得结果了 当然用sumif、透视表也行,但得一张表一张表地去统计 如若此工作内容是长期的 每次的统计工作将占很多时间

目前美国实行的电价制度有哪几种?
xcelenergy与美国可再生能源国家实验室联合开发了一套pvwatts的系统专门用于计算补贴的标准。用户可以随时访问该网站进行核实。这些额外的补贴也会反映到用户每个月的账单中。结语美国的电力工业发展水平在各个地区都是不一样的,因此电价的制度也存在很大差异。看到印第安纳州账单所反映的居民用电价格约为0.885元人民币\/...

为什么我的XCEL 中一按求和的键就跳到旁边跳出来求和的公式
你是按的∑键吧,就是自动求和,系统会就最近的单元格判断你可能需要求和的数组,所以会自动出来公式,如果你不是需要这个数组范围,可以自己圈定你需要的范围,它会就你圈定的数组范围做求和计算 这个是excel的自带功能之一

Microsoft Excel 工作表快捷键列表
五、xcel中输入并计算公式的快捷键 键入公式 =(等号) 关闭单元格的编辑状态后,将插入点移动到编辑栏内 F2 在编辑栏内,向左删除一个字符 Backspace 在单元格或编辑栏中完成单元格输入 Enter 将公式作为数组公式输入 Ctrl+Shift+Enter 取消单元格或编辑栏中的输入 Esc 在公式中,显示“插入函数”对话框 Shift+F3...

Microsoft Excel 工作表快捷键列表
五、xcel中输入并计算公式的快捷键 键入公式 =(等号) 关闭单元格的编辑状态后,将插入点移动到编辑栏内 F2 在编辑栏内,向左删除一个字符 Backspace 在单元格或编辑栏中完成单元格输入 Enter 将公式作为数组公式输入 Ctrl+Shift+Enter 取消单元格或编辑栏中的输入 Esc 在公式中,显示“插入函数”对话框...

在EXCEL表格里,怎么提取某一单元格中的一部分文字
xcel表格中文字和数字如何分离提取?这样做再也不用一个个敲了

e xcel 怎么才能不计算空值计算零值
利用IFERROR函数。假设你希望B3单元格公式结果是错误值时,显示0,则输入=IFERROR(B3,0);若希望显示空白,则输入=IFERROR(B3,"")。注意:B3部分可以替换为你原本的公式,也就是IFERROR套用在你原本公式之外

麻章区18362982012: 如何对Excel数据比对,并提取出重复数据 -
自黄盐酸: 1、首先在excel表格中输入两组需要比对的数据,该两组数据中有重复数据需要挑选出来. 2、然后在C1单元格中输入函数公式:=IF(COUNTIF(A:A,B1),"重复",""),意思是用B1的数据在A列中查找是否重复. 3、点击回车可以看到比对的B1单元格在A列中有重复数据,所以在C1单元格中显示了“重复”字样. 4、最后将单元格中的公式向下填充即可看到B列中在A列中有重复的数据的单元格中会被标注出字样,将这些单元格挑出即可.

麻章区18362982012: 如何在excel表格中用公式查找重复值 -
自黄盐酸: 1、打开需要查找重复值的excel表格,找到需要查找的A列. 2、将鼠标定位在C1单元格中,在编辑栏中输入公式“=IF(COUNTIF($A:$A,A1)>1,"重复","不重复")”,按键盘上的回车键,C1单元格就显示不重复. 3、将鼠标放在C1单元格的右下角下拉,则有重复的单元格则会显示重复,不重复的单元格则显示不重复.

麻章区18362982012: excel中提取重复数据 -
自黄盐酸: 在C列中插入=countif(a:a,a1) 先排序,就会出现你看到的结果,01是3次、02是次、05是3次、06是1次、08是2次 列B雷同 很简单吧

麻章区18362982012: 请问在excel中如何将一列数据中重复的找出来? -
自黄盐酸: 假设数据写在A列,则方法如下:方法一zhidao 选中A列,操作:格式,条件格式,选择“公式”,写入:=COUNTIF(A:A,A1)>1 ,再点格式,在单元格格式中设置单元格字体或单元格底纹为红色,最后点“确定”.这样A列中出现红色的字体或红色底纹的单元格就回是重复的数据.方法二 在B1单元格写入公式=IF(COUNTIF(A:A,A1)>1,"重复","") 下拉填充公式 这样在B列中出现文字“重复”的A列数据就答是重复的数据.

麻章区18362982012: 如何在excel公式查找重复项 -
自黄盐酸: Excel中可以利用Countif函数统计个数来查找重复项. 操作系统:win7;软件版本:Office2007 举例说明如下: 1.利用公式查找A列重复项: 2.输入公式如下: 利用countif条件计数,如果A列中的数值重复,那么公式结果就大于1 3.下拉填充,得到如下结果,筛选B列大于1的数值,即可将A列中的重复项筛选出来:

麻章区18362982012: 怎样在Excel中筛选重复数据,并且标出来. -
自黄盐酸: 选中第一列数据,“格式”菜单-->“条件格式”,选公式,在后面输入=countif(a$1:a1,a1)>1再把格式颜色改为红色,这样重复数据就变成红色的了.

麻章区18362982012: excel表格如何提取一列中的重复项 -
自黄盐酸: 假设数据在d2:d100 建议用一辅助列, 在h列 h2 输入 =(countif(d$2:d2,d2)=1)*row() 下拉至h100 e2 输入=indirect("d"&small(if(h$2:h$100>0,h$2:h$100),row(a1))) ctrl+shift+enter三键输入 下拉 e列便是你要的答案 如不用辅助列亦可, ...

麻章区18362982012: 如何在excel表格中将工作表1和工作表2里面的重复数据(名称/数字/金额)将重复的次数提取出来,怎样运用公式. -
自黄盐酸: 只在最后的一个显示同名的个数,其他同名显示为空=IF(COUNTIF($A$1:A1,A1)=COUNTIF($A$1:$A$16,A1),COUNTIF($A$1:A1,A1),"") 然后下拉公式但是这个公式只适合于在一个工作表中的数据.可以把数据合并在一个工作表中再进行...

麻章区18362982012: 如何在Excel中查找,删除,提取重复值 -
自黄盐酸: 方法/步骤 单击要删除重复值的数据区域所在的任意一个单元格,然后单击”数据“选项卡下的”数据工具“组中的”删除重复项“,将弹出”删除重复项“对话框.如下图所示 在弹出”删除重复项“对话框中可以选择具体要删除哪一列的重复...

麻章区18362982012: 如何将excel数据表中重复的数据提取出来? -
自黄盐酸: 开始-条件格式-找到重复值,标记一下颜色-再筛选

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网