Excel中含重复文本列与数值列图表绘制的去重处理公式咨询
Excel中含重复文本列与数值列图表绘制的去重处理公式咨询
嘿,看来你是想基于这两列数据做图表,但文本列的重复值让数据显得冗余又影响图表效果对吧?我来给你几个实用的解决方法,帮你快速整理出每个唯一文本对应的数值,方便后续做图表:
首先得明确你的核心需求:你是想每个唯一文本(比如textA、textB)只对应一个数值吗?比如取它第一次出现的数值、最后一个,还是对同一文本下的所有数值做汇总(比如求和、平均)?不同需求对应不同操作,我都给你列出来:
方法1:提取唯一文本 + 对应第一个出现的数值
适合你只想保留每个文本第一次出现时对应数值的场景:
- 先提取唯一的文本值:在空白列(比如C列)的C1单元格输入
=UNIQUE(B:B),按回车后会自动列出所有不重复的文本(textA、textB这类)。 - 然后提取每个唯一文本对应的第一个数值:在D1单元格输入
=XLOOKUP(C1,B:B,A:A,,0,1),下拉填充即可。这个公式会精准找到C列文本在B列中第一次出现的位置,返回对应A列的数值。- 如果你用的是旧版Excel(没有XLOOKUP函数),可以用INDEX+MATCH替代:
=INDEX(A:A,MATCH(C1,B:B,0))
- 如果你用的是旧版Excel(没有XLOOKUP函数),可以用INDEX+MATCH替代:
方法2:对同一文本下的数值做汇总(适合统计类图表)
如果你的需求是统计每个文本对应的数值总和、平均值这类统计值,直接用汇总公式更高效:
- 求和:先在C1输入
=UNIQUE(B:B)得到唯一文本,再在D1输入=SUMIF(B:B,C1,A:A),下拉就能得到每个文本对应的数值总和。 - 平均值:把D1的公式换成
=AVERAGEIF(B:B,C1,A:A),就能得到每个文本下所有数值的平均值。
整理好的C、D列数据就是干净的「唯一类别+对应统计值」,直接用来做柱状图、折线图都很合适。
方法3:用Power Query一键去重整理(大数据量首选)
如果你的数据量比较大,手动写公式麻烦,用Power Query会更省心:
- 选中你的A、B列数据区域,点击菜单栏的「数据」→「从表格/区域」(弹出对话框时记得勾选「我的表格有标题」)。
- 在Power Query编辑器里,点击「转换」→「分组依据」:
- 分组列选你的文本列(Column B),新列名可以叫「对应数值」,操作选你需要的类型(比如「求和」「平均值」「第一个值」),列选数值列(Column A)。
- 点击「确定」后,数据就自动整理成唯一文本+对应数值的格式了,最后点击「关闭并上载」,就能得到可以直接用在图表里的干净数据。
如果还是有疑问,可以说下你具体想要每个文本对应哪种数值(第一个、最后一个还是汇总值),我再帮你细化操作~
备注:内容来源于stack exchange,提问作者user20206368




