还是函数方法好,错把Power Query当成宝。

职场   职场   2024-07-09 08:39   河北  

Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN


    



大家好,今天我们来讲一个非常经典的数据转换清洗案例:如何将一对多的数据,转换为易于统计汇总的一维表格式。问题虽然老生常谈,但是里面蕴含的Excel技巧与思路确是我们工作中必备的技能。以前我们通过很多篇文章不厌其烦的进行科普与讲解,讲的最多的方法也就是Power Query编辑器的方式:(往期参考,点击查看)
Excel横向一对多格式的数据转换为纵向一对多格式的数据!

有的小伙伴可能不太喜欢使用Power Query编辑器,那么今天我们就用Excel新函数与旧函数混合使用,快速的解决这个问题。


如下图所示
是一张省与地区的对照表。A列为省数据,B列为每个省数据对应的地区数据,并且地区数据集中显示在同一个单元格中,不同地区之间用分隔符逗号间隔开来。我们最终想要将其转换为一维形式的流水表。如A7:B14区域所示。



下面我们就通过几个简单的步骤,详细的解释函数公式的用法


首先我们通过【数据-分列】的方式,将B列数据进行简单的分列,因为有明显的分隔符号逗号,所以我们就用这个分隔符快速的将B列数据拆分到多列不同单元格显示,具体操作步骤如下图所示:



然后我们使用IF函数进行一个简单的条件判断


我们在A8单元格输入函数公式

=IF(B2:D4<>"",A2:A4,AAA)


我们想要将目标区域的省份重新整理到A8:A14显示的话,就要确定各省份对应的地区有多少个。各省有多少个地区,我们就重复几次省份数据。很好理解。


正好IF函数提供给了我们实现这个目标的可能性。我们使用IF函数判断,当B2:D4区域数据不等于空值的时候,我们就返回A2:A4区域对应的省份,否则我们返回AAA(任意的一串字符即可)。


如果我们想要让IF函数返回某一文本值的时候,必须加上引号(“AAA”)才能实现正确的返回值,否则会显示错误值,而这里我们直接输入AAA,在不满足条件时,会显示错误值。


最后会以数组溢出的方式显示结果,非常的直观,如下图所示:



接着我们使用TOCOL函数将上一步结果转换为一列即可

=TOCOL(IF(B2:D4<>"",A2:A4,AAA),2,FALSE)


TOCOL函数它可以将一个区域内的数据转换成一列。它由三个参数组成。

=TOCOL(数据区域,忽略特殊值,行/列扫描)


第二参数:忽略特殊值,有四种情况可供选择:



第三参数:指定扫描数组的方式,如果省略该参数或者参数值为FALSE,表示按行扫描;如果参数值为TRUE,则表示按列扫描。通常情况下不需要特别设置该参数。


使用TOCOL函数将IF函数返回的数组结果,忽略错误值后,按先行后列的顺序(按行扫描)合并成一列显示。



最后我们仍然在B8单元格使用TOCOL函数

=TOCOL(B2:D4,3,FALSE)


最后只需要将A8:A14列对应的地区显示到B8:B14区域即可


我们使用TOCOL函数,将B2:D4区域的数据,忽略空值和错误值后,按先行后列的顺序(按行扫描)合并到B8:B14一列显示。



回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。

 

 


知识点精彩链接点击阅读

Excel单元格内数据去重/Excel各列数据同步去重
Excel工资条生成模板/157个常用VBA代码模板
Excel提取数字字母汉字/Excel提取字母数字汉字
Excel03~19软件下载/WPS表格19VBA宏功能
全网文字免费复制技巧/提取Excel表格所有图片
再不怕忘记电脑开机密码/Excel正向逆向查询
批量合并所有工作表/材料出入库表格模板分享
卡通风格PPT模板分享/梦幻风格PPT模板分享
vlookup多条件查询/Excel电话号导入通讯录
更多实用内容请在历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。(同名视频号)
 最新文章