欢迎光临散文网 会员登陆 & 注册

学会函数思维,Excel其实很简单,多列数据一键去重!

2023-10-11 23:28 作者:秋叶Excel  | 我要投稿

我是拉小登,一个爱梳头的 Excel 老师。


今天来讨论一个函数公式的问题。


多列姓名怎么提取姓名唯一值?


往常写文章,开头我都会长篇大论导入场景,今天直接开门见山,用 QA 笔记法简单明了的,讲解这个问题背后的函数思维。


问题描述


多列姓名怎么提取姓名唯一值?


提问人:拉小登 Dony



回答人:拉小登老师


解决函数问题就 3 个步骤:


❶ 梳理思路

❷ 编写公式

❸ 公式说明


梳理思路


先别着急写公式,先梳理这个问题的解决思路,我想到了下面几个步骤:


去重方法


Excel 中常用的删除重复的方法有:


❶ 删除重复值。【放弃】这个是手动操作,不能自动更新。


❷ UNIQUE 函数。【可行】用公式一键提取唯一值。


但是 UNIQUE 函数,只能对单列内容处理。


所以在这一步之前,需要先想办法,把多列姓名,合并成一列。



多列合并成一列


目前我掌握的方法有下面几个:


❶ 使用文本连接符&。【放弃】


因为需要一个一个引用单元格,效率太低。


❷ TEXTJOIN 合并文本,然后拆分。【可行】


就是把所有单元格的内容,合并成一个字符串,然后拆分成列表的形式。



❸ TOCOL 多列合并。【可行】


这是一个 Office365 的函数,更加简单实用。


综上所述,可以用实用两种方法,实现这个效果。


接下来挨个验证一下。


编写公式,方法 1

编写公式


公式如下:

  • =UNIQUE(FILTERXML(""&TEXTJOIN("",1,A2:D8)&"","a/b"))


公式说明:


首先是 TEXTJOIN 函数的使用说明。



下面是 FilterXML 的使用说明。



最后是 UNIQUE 函数的使用说明。



再来看原始的公式:

  • =UNIQUE(FILTERXML(""&TEXTJOIN("",1,A2:D8)&"","a/b"))

❶ 首先是合并文本


使用 TEXTJOIN 函数用把单元格的内容合并成一个字符串。


使用这个奇怪的分隔符,目的是为了构建 xml 数据文本。

  • TEXTJOIN("",1,A2:D8)

在合并后的文本两端,把标签补全,得到规范的 xml 文本。

  • ""&TEXTJOIN("",1,A2:D8)&""


❷ 拆分文本


然后使用 FilterXML 来提取 a/b 路径下的文本,实现文本拆分。

  • FILTERXML(""&TEXTJOIN("",1,A2:D8)&"","a/b")

提取的结果如下,实现的多列数据的合并。



❸ 提取唯一值


最后,数据合并成一列后,再用 UNIQUE 函数提取唯一值。

  • =UNIQUE(FILTERXML(""&TEXTJOIN("",1,A2:D8)&"","a/b"))

最终实现了多列唯一值提取的目标。


编写公式,方法 2

编写公式


filterxml 是一个比较古老的函数,没有 xml 基础的话,看的一头雾水。


目的其实就是用 TEXTJOIN+FILTERXML 实现多列数据的合并。Office365 提供了一个 TOCOL 函数,可以轻松实现相同的效果。


还是一样的思路,公式如下:

  • =UNIQUE(TOCOL(A2:D8,1))


公式说明:


TOCOL 函数使用说明如下:



再来看原始的公式:

  • =UNIQUE(TOCOL(A2:D8,1))

❶ 多列数据合并


使用 TOCOL 函数,把 A2:D8 区域的多列数据合并起来,合并的时候忽略空白单元格。

  • =TOCOL(A2:D8,1)

合并结果如下:



❷ 提取唯一值


数据合并成一列后,用 UNIQUE 函数提取唯一值就可以了。

  • =UNIQUE(TOCOL(A2:D8,1))


这样就完成了多列去重,简单吧!


总结一下


函数思维


所谓函数思维,其实就是做好问题的拆解,把大问题拆解成小问题,再把小问题翻译成单个的函数,然后组合起来解决问题。


所有的问题解决思路都是这样的,不是吗?


学习函数思维,和学习数学差不多,需要通过大量的练习来积累经验:


❶ 梳理思路。掌握一定多的阶梯方法,梳理思路。

❷ 编写公式。扎实的公式基础,能把思路翻译成函数公式。

❸ 函数说明。理解函数的运行原理,出错后能自己排除错误。


如果你想学习更多的 Excel 知识,Get 函数思维,推荐参加秋叶 Excel 3 天集训营


即使你是零基础小白,也能带你轻松入门,掌握 Excel 秘籍,使数据呈现更清晰直观,让领导更喜欢。


每天学习大概 30 分钟,3 天时间,你也有可能成为 Excel 高手!


 专业讲师、贴心助教、上进学员,都在等你哦~ 


秋叶《3 天 Excel 集训营

原价 99 元  

现在 仅需 1 元  

报名即送

35 个常用函数说明

赶紧扫码预约吧!

👇👇👇


*广告

学会函数思维,Excel其实很简单,多列数据一键去重!的评论 (共 条)

分享到微博请遵守国家法律