这个Excel查找不同的技巧,过于硬核!

经常看到一类问题,就是关键词一样,如何找到后面对应信息不同的数据!
比如我们今天的案例,商品名称一样,但是对应的单价有的却不同,我们就是要把这些找出来了
比如下面的数据,其中有部分商品有多个单价,我们要找出来!
我们讲解几种方式,从简单到通用,方便不同基础的同学学习和应用!
方法01 | 辅助列+数据透视表
▼ 动画演示

操作说明

1、首先,我们新增一个辅助列,用于统计对应的 水果名称出现的次数,方便我们透视处理。出现多次,结果也会从1、2、3递增!
=COUNTIF($A$2:A2,A2)
2、名称 放到透视表 行区域辅助(次数) 行 列区域单价区域
值区域的字段,一般都会执行聚合,这里已经把多次的分开的了,所有结果都只是原本的值,且按出现的顺序依次排列!
3、虽然这种方式相对简单,但是也有局限性,那就是透视表值字段无法使用文本,这就是导致,出现文本需要比对时就麻烦了!这里我们可以使用Power Pivot的DAX函数突破。同时把一些没有重复的也显示出来,不够直观!
关于DAX,放在最后补充案例中说明!
本文由“壹伴编辑器”提供技术支持
方法02 |  使用函数处理-O365版本专享
▼出现1次以上的水果名称提取
=UNIQUE(IF(COUNTIF($A$2:$A$14,$A$2:$A$14)>1,$A$2:$A$14,""))
▼提取单价并合并
=TEXTJOIN("/",TRUE,UNIQUE(IF($A$2:$A$14=D2,$B$2:$B$14,"")))

公式说明

1、以上所使用到的方式 UNIQUE和 TEXTJOIN都是o365版本的专属函数,还有WPS最新版本可以尝试使用TEXTJOIN函数,这对部分低版本的同学略显遗憾!
想要学习这两个函数,可以阅读扩展:
2、由于UNIQUE的出现,可以帮我们删除重复值,比如同一个水果虽然出现多次,但是如果多次单价都一样,只需要一次!
当然上面的方法,还是有些麻烦,所以我们尝试其他函数,带大家了解一下 Power Query和Power Pivot处理!
同时,我们把数据稍微修改,其中添加一些,重复数据!
西梅 出现三次,但是有一条重复,所以结果应该只有两个单价才对!
方法03 | Power Query-M函数处理
Power Query已经讲过一些基础,这里我们就直接进去编辑器写M函数公式,如果你不知道如何进去编辑器,请看如下文章学习基础!
点击阅读-> PQ 第一期 | Power Query是什么?怎么学?
▼ 完整M函数代码
▼ 结果呈现

M函数说明

1、首先是内层的 Table.Group函数,按照 名称 分组,对对应的单价去重,
然后使用Text.Combine,把单价合并起来,这样有重复的就会包括合并的分隔符(“/"),否则返回自身!
2、 Table.SelectRows的作用是按照条件删选行,有点类似工作表中的筛选,对最后满足条件的行显示出来!这的条件就是包含 "/"
3、使用PQ的好处就是数据源更新后,不用重新写,只要右击刷新即可更新结果!
本文由“壹伴编辑器”提供技术支持
最后,我们补充一下DAX的玩法,可以应用到PBI或者Power Pivot,主要写度量值,也比较简单!
方法04 | Power Pivot-DAX应用处理文本
DAX源码:
=
VAR PJ =
    VALUES ( '表1'[评级] )
RETURN
    IF (
        HASONEVALUE ( '表1'[名称] ),
        IF (
COUNTROWS ( PJ ) > 1,
CONCATENATEX ( PJ, '表1'[评级], "/" )
)
    )

DAX说明

1、以上公式我们应用到了很多DAX只是,VAR申明变量,RETURN返回结果,成对出现
2、VAR变量的值,一旦确定,后续不会修改,如果多个地方都使用到同一个列表等,可以大大优化公式,提高运行效率
3、HASONEVALUE+IF 是判断是否是总计行的通用套路,等价于COUNTROWS(VALUES([列名称]))!
4、CONCATENATEX,也是迭代函数,第一参数是一个表,第二参数,我们可以对表的每一行进一步处理,最后使用第三参数提供的分隔符合并!这里是单列表,所以第二参数迭代后不用处理,直接返回!
5、VALUES函数  返回指定列的表,忽略重复值!DISTINCT函数有能实现一样的效果,DISTINCT不仅支持实体列,也支持返回表的表达式,相对VALUES还要灵活,这些以后,我们慢慢学习!
有帮助,感谢(收藏,点赞、在看、转发)
(0)

相关推荐

  • 不可能的透视表之如何在透视表中显示文本

    我们,让Excel变简单 我们面对的问题很简单. 假设有以下数据: 数据中记录了各部门的人员 现在我们需要将这份数据进行如下的展示: 我们有什么方法能快速做出这个报表,并且这个过程还能够自动化:即如果 ...

  • 只是一个简单的分区间问题?No,我要告诉你更通用的表间数据匹配方法!

    小勤:用RELATED或LOOKUPVALUE函数都是精确匹配,但,有时候我想实现分区间的操作,怎么办?类似LOOKUP函数(或VLOOKUP函数的模糊匹配)功能,比如说有价格区间如下图所示: 怎么用 ...

  • Power Pivot里用DAX创建表

    一般来说,我们很少在Power Pivot里用DAX直接创建表,但是,了解这些基础内容,也很有必要. 为了方便直接显示结果,以下操作在Power BI中完成,若在Excel中,可用链接回表或DAX S ...

  • PP-DAX入门:传统数据透视无法实现的按条件计数问题

    小勤:我要统计每栋楼的楼层情况和单元数,但楼层里有走廊的不能统计,这种情况怎么办? 大海:加个辅助列将楼层的情况做个判断,然后用辅助列的数据做透视? 小勤:最好不要辅助列,不然的话我每次接到表都得重新 ...

  • PQ/PP结合:领导就要这种格式的数据汇总之续篇

    小勤:大海,上次那个用Power Query拼接出来的非标准统计表里不能实现合并单元格(具体参考文章<领导就要这种样子的数据汇总方式,你能怎么办?>),但你说可以结合Power Pivot ...

  • 领导就要这种格式的数据汇总,你能怎么办?

    小勤:能用数据透视实现从数据明细到这样的数据汇总吗? 大海:对不起,不能啊.一定要这样吗?说(shui)服一下领导用标准的数据透视呗.小勤:说不服不了啊!领导说这样最直观.那Power Pivot行吗 ...

  • 使用Power Query实现跨表格数据查询

    在工作过程中,我们经常要进行表与表之间的快速核对和匹配,查找函数一般都是各位小伙伴的第一选择,常用的有VLOOKUP,LOOKUP还有经典的INDEX+SMALL+IF组合等等.不过这些函数都有很多限 ...

  • 入门数据分析❓先精通Excel|常用函数

    找数据分析工作,大家都在学SQL,Python,R,千万别忘了最基础的Excel❗️ ▫️ 当数据量较小(几十万行以内),Excel处理是最方便的:拿到原始数据,加工处理,生成报表,一键发送,走路能到 ...

  • 按照各自部门,将姓名合并到一个单元格

    如下图,需要把AB列的数据,按照不同的部门汇总出对应的人员名单. 接下来,怎么以Excel 2016为例,介绍一种快捷简便的方法: 首先在[开发工具]选项卡下,COM加载项,勾选power Pivot ...

  • 生成笛卡尔积的几种方式

    假如分别有100个不重复的姓和名,把每个姓和名进行组合匹配,就可以得到一万个不重复的姓名组合,这种完全匹配的方式就是生成一个姓名的笛卡尔积. 下面就来看看生成笛卡尔积的几种方式,为了展现的方便,以5个 ...

  • 读这些书,学Power BI的效率提升100%!(文末重磅送书福利)

    读这些书,学Power BI的效率提升100%!(文末重磅送书福利)

  • 理解DAX:为什么ALL(表)不去重,ALL(列)去重了?

    小勤:ALL函数是清除所有筛选条件并返回表中的不重复值,下面对表的行进行计数应该是3呀,因为有两个大海是重复的,怎么还是4? 大海:没有说all返回的是不重复值啊. 小勤:那么我ALL(表[姓名]), ...

  • PP-基础知识:为什么数据类型转换会出错?

    小勤:为什么我在Power Pivot里无法做数据类型转换? 大海:这是因为你订单ID这一列里不全是数字.所以只能用文本类型类表示.而且错误信息里提示也很明确,既提示了错误类型,也显示了第一个出错的值 ...

  • PP-DAX入门:Power Pivot里怎么输入日期?

    小勤:Power Pivot里怎么输入日期啊?大海:Power Pivot里输入日期有很多种方式,不同的方式有一些细微的差别,可以根据不同情况进行选择.比如:1.文本型输入,然后转换类型,如所示: 结 ...