Excel数据不规范的坑有多深?

今天看到这么一个案例,需要提取,或者说需要根据姓名查询!

问题虽然看上去有点麻烦,但是好在有规律,那么也就谢天谢地了!

Excel中没有文本分隔函数,所以处理类似的问题有其他的SUBSTITE+REPT套路!

我们先使用一些老套路处理!当然看到这里,已经有很多人蠢蠢欲动!这个我会,基础操作就可以!好吧,那我先基础操作吧!

思路1 | 基础操作

操作:

1、数据-分列【ALt+D+E】,使用的快捷键,分隔符选择 (|),确定完成

2、数值复制,选择性粘贴-转置

3、复制数值左边的符号(〖),再次分列

4、替换(〗)为空【Ctrl+H】

小结:基础操作永远是亲民的,但是略显繁琐,胜在简单,但是不适合大量处理!

下面我们来说说,传统处理这类问题的,函数套路!

思路2 | 函数套路法

▼我是一条普通的公式

=TRIM(MID(SUBSTITUTE(TRIM(MID(SUBSTITUTE(LEFT($A$1,LEN($A$1)-1),"〗|",REPT(" ",99)),ROW(A1)*99-98,99)),"〖",REPT(" ",99)),COLUMN(A1)*99-98,99))

简单分析:SUBSTITUTE+REPT已经是处理这类问题的老套路!把特定的符号,替换成足够多的空格,然后再进行截取,这样就可以按照统一维度截取,对于多出的空格使用Trim去掉即可!只是在案例中有多个符号,所以我们需要替换两次,一次“|”整体分离,一次姓名、分数分离!

我们来看一下中间的核心过程,大家即可明白!

把"〗|"替换成99个空格,自动换行显示如下:

这样函数是最传统的套路,在2013版本之后,出现了FILTERXML函数,这个函数可以借助网页的xpath进行提取,对于这类问题,有了更多的更有意思的解法!

思路3 | 新的套路 - FILTERXML

我们使用FILTERXML可以轻松提取出全部内容,默认一列显示

▼我是一条普通的公式

=FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(LEFT($A$1,LEN($A$1)-1),"〗|","</b><b>"),"〖","</b><b>")&"</b></a>","//b")

我们可以通过index函数轻松转成两列显示

先构建一样,结果需要的格式,然后放到INDEX第二参数即可!

=2*ROW(A1)-1+{0,1}

序列的构建是数组的基础功,大家后期慢慢总结,即可轻松掌握!

▼我是条区域数组公式(两列)

=INDEX(FILTERXML("<a><b>"&SUBSTITUTE(SUBSTITUTE(LEFT($A$1,LEN($A$1)-1),"〗|","</b><b>"),"〖","</b><b>")&"</b></a>","//b"),2*ROW(A1)-1+{0,1})

关于FILTERXML这个函数,小编已经写过专题文章,不了解基础的同学,

(0)

相关推荐

  • Excel函数高清动图 5个实用函数套路图文详解

    Excel函数实在太多,不过常用的套路其实就那么些,今天就来跟我一起学5个稍微复杂的函数套路用法 1.文本替换函数substitute,根据分隔符来提取数据 要点: =SUBSTITUTE(需要替换的 ...

  • 怎么在Excel中给不足位数的数字前面补0?方法二你肯定想不到

    嗨咯大家好,我是亮仔 在工作中经常会遇到需要对数字补齐位数的情况,比如图中所示,需要把员工的工号变成统一的8位数,不足的用0补足 在Excel中我们怎么实现呢,今天亮仔将分享2个方法 点击观看视频教程 ...

  • 【Excel公式教程】IF函数要凉凉……(文末赠书)

    90本电子书:Excel.Word.PPT.职场必备,总有一本是你需要的-- 好书叒来了!!! IF函数一直为大家所爱,IF函数也确实为我们解决了很多问题,比如在之前的一道题目中,就是用了IF解决的. ...

  • 综合系列01-excel和dos创建简易文件管理库

    今天我为大家讲解下如何利用excel函数和dos命令创建简易文件管理库(有同步视频课大家可以查看),之前课程<EXCEL系列03-函数实现高级查询筛选>和<EXCEL系列03-函数实 ...

  • 拆分文本数据,两种方法任你选择!

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 小伙伴们,在日常工作中我们经常会遇到类似下面的数据吧?同一个省份下面的市都 ...

  • 总结篇--SUBSTITU函数实用终极帖

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! SUBSTITUTE函数是EXCEL常用的文本函数之一,常用于字符串的提取 ...

  • 一个单元格中有三个数,这怎么求和!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 一个单元格中有3个数字,怎么样求和啊?大家不要笑,我还真的在工作中见到过这种情况.怎么样求和?用计算器一个一个按 ...

  • 如何把数字提取出来

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 我们在日常的工作中遇到的最多的问题无外乎就是文本处理.统计求和查找引用了.今天就继续和大家分享一道文本处理方面的 ...

  • 分列提取你还在用老套路吗?该尝试个新套路了。

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.分列这个基础命令,想必各位小伙伴都很熟悉.但是用函数实现分列的效果,可能只有部分小伙伴才知道,它的常用套路是trim+mid+substitute ...

  • 最后边那位同学,来蹭课的吧?

    周庄 前言 通常编码或代码都是分段式结构,中间用符号隔开以区别不同的代码.如: YRO-2000-H188 H000.MP.E.B 当我们需要将最后一段代码取出时,往往因为段数不统一,字符数不统一等原 ...

  • 【Excel公式教程】小写金额转换为大写金额的4个公式套路解析

    公众号回复2016   下载office2016 在会计做账的时候经常会用到大写金额,那么由小写金额如何转换为大写金额呢? 在网上搜一下会发现这类公式有很多,有的还特别长,今天就整理了四个不同效果的公 ...

  • 有一个Excel函数叫:省时一整天,你却连我的名字都不知道…

    ★ 编按 ★ Hello大家好,今天给大家介绍一下SUBSTITUTE函数,它可以将数据中的旧值替换为新值,与我们熟悉的"查找替换"功能相似.很多小伙伴可能会说,简单的查找替换就能 ...

  • 自从用了这些方法,排列组合计算再也不出错了!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 数学中有个知识点叫"排列组合",是说从一组候选清单中任意取出几个组合在一起.如果不考虑顺序, ...

  • 票选华山论剑

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 在上一篇中向朋友们介绍了一次统计多个关键字的技巧,尤其是在财务应用上非常方 ...