前段时间学员小D咨询到:有什么简便的方法,可以将将混合了中英文及不同数量空格的文本,快速拆分成多列?下图所示是小D的问题:

小D需要将这列数据拆分成如下图所示的4列数据:

刚一开始看到这个表格的时候,我说用“数据-分列”用空格作为分隔符来拆分就可以了吧。仔细一想,不行,前面的英文单词不一定是一个词,有些两个词中间也有空格,每一列的长度都是不固定的。

我们一起来思考一下,这个问题的解决方案。我们在处理Excel问题的时候,一定要分析数据的规律。

比如这个案例中,我们可以观察到,前面的英文单词、词类和中文解释中间都是一个空格间隔的,而中文解释和英文解释中间的空格都是2个空格以上的。找到了特定的规律之后,我们就可以分段来提取了。

提取第4部分

我们可以先把最后一部分的英文解释先提取出来。这里我们需要先利用FIND函数查询2个空格的位置,再用MID函数截取出来指定位置和指定长度的字符。我们先来看看这相关函数的语法:

查询一个字符串在一个单元格的起始位置:FIND(要找的字符串,包含查询字符串的单元格)从中间取字符:MID(文本,从第几位开始取,取多少位)除文本首尾空格:TRIM(文本)

组合的函数:=TRIM(MID(A1,FIND(" ",A1),200))

A1就是要拆分的列的第一个文本所在的单元格地址。最里面一层函数通过FIND函数查找两个空格所在的起始位置,用这个起始位置作为MID函数的第二个参数,向后截取长度为200的字符。因为不确定后面的英文解释有多少个字符,所以输入了一个比较大的数字。最后再用TRIM清除截取出来的文本的首尾空格。

提取第3部分

接着再来提取第3部分:中文解释。中文解释可以用MID函数从.所在的下一个字符开始,原始文档中的中文解释不超过10个字,所以截取的长度我直接输入了10,如果实际数据无法确定多少个字符,可以用两个空格的位置减去圆点的位置来就计算。

组合函数:=TRIM(MID(A1,FIND(".",A1)+1,10))

提取第2部分

接着来提取第2部分:词类。由于前面的英文单词有些是一个词,有些是两个词,此类的长度也不确定,我想到的方法是查找最后一个空格的位置,相关的函数包括:

可以按照定义的次数重复显示文本:REPT(文本,重复的次数)

在某一文本字符串中替换指定的文本:SUBSTITUTE(文本,旧字符,新字符)

左取字符:LEFT(文本,取多少位)

右取字符:RIGHT(文本,取多少位)

组合函数:TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND(".",A1))," ",REPT(" ",99)),99))

先用LEFT函数将从最左侧截取到圆点的位置的所有字符,比如这段字符:lateral line n. 侧线 A line of pressure-sensitive cells on the sides of bony fish.

就得到了这个部分的文本lateral line n.

接着用SUBSTITUTE函数将每个单词中间的一个空格替换成REPT形成的99个空格,再用RIGHT函数从右侧取出99个字符,最后用TRIM清除首尾空格。

提取第1部分

最后来提取第1部分:英文单词,使用了LEFT函数从文本的左侧提取,提取的长度用小圆点的位置减去了词类的长度,最后用TRIM清除首尾空格。

计算文本长度:LEN(文本)

组合函数:TRIM(LEFT(A1,FIND(".",A1)-LEN(C1)))

到此4列就拆分完毕了。如果对这个案例感兴趣,可以在“快乐享用Office”公众号后台输入关键字"拆分列",领取作业文件。最后汇总一下本文中使用到的相关函数:

  • 查询一个字符串在一个单元格的起始位置:FIND(要找的字符串,包含查询字符串的单元格)
  • 从中间取字符:MID(文本,从第几位开始取,取多少位)
  • 左取字符:LEFT(文本,取多少位)
  • 右取字符:RIGHT(文本,取多少位)
  • 清除文本首尾空格:TRIM(文本)
  • 可以按照定义的次数重复显示文本:REPT(文本,重复的次数)
  • 在某一文本字符串中替换指定的文本:SUBSTITUTE(文本,旧字符,新字符)
  • 计算文本长度:LEN(文本)

中英文怎么算 字符长度_如何将混合了中英文及不同数量空格的文本,快速拆分成多列...相关推荐

  1. 中英文怎么算 字符长度_钢材长度怎么算,只有1%的人才懂!

    数控技术在线 订单 | 技术 | 干货 | 社群 关注可加入机械行业群! 关注钢材长度尺寸钢材长度尺寸是各种钢材的最基本尺寸,是指钢材的长.宽.高.直径.半径.内径.外径以及壁厚等长度.钢材长度的法定 ...

  2. 获取某个输入框的字符长度_收藏,最全的字符串函数方法,总有你用到的~

    点击上方"执行上下文",选择"置顶公众号" 关键时刻,第一时间送达! 在日常开发中,我们难免要和字符串打交道,各种各样的功能都可能用到上面的字符串函数,本文参考 ...

  3. 广联达2018模板算量步骤_广联达gtj2021实操案例,新增6大板块,快速提高算量效率...

    对于从事造价行业的朋友来说,广联达软件是我们最经常用到的软件,不仅是因为广联达软件能够在提高工作效率,主要还是现在大数据下,广联达软件可以做到更精准.零失误 广联达软件更新的也比较快,广联达GTJ20 ...

  4. mysql表的一列拆分成两列_将float值拆分成MySQL表的两列?

    要将float值分成两列,第一列将有一个十进制前的值.第二列将在小数点后有一个值.为此,您可以将SUBSTRING_INDEX()与一起使用CAST().让我们首先创建一个表-mysql> cr ...

  5. java 字符长度 中文_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

  6. java判断字符长度_java判断中文字符串长度的简单实例

    话不多说,上代码: /** * 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static i ...

  7. 计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度

    计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度 public int Text_Length(string Text)       {             int len=0; fo ...

  8. 【代码笔记】iOS-判断中英文混合的字符长度的两种方法

    一,代码. - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.//第 ...

  9. Java中英文字母汉字混合字符长度值计算

    Java中英文字母汉字混合字符长度值计算 String string = "phil安卓";Logger.d(string.length());try {String newStr ...

最新文章

  1. Java泛型 通配符? extends与super
  2. 图形处理(三)简单拉普拉斯网格变形-Siggraph 2004
  3. YaoCCAD软件中设置坐标原点
  4. java 中Lock的使用
  5. 2019年末逆向复习系列之淘宝M站Sign参数逆向分析
  6. go float64 转int_深挖Go函数之深度解析(下):可变参数
  7. 比较OpenDDR和WURFL
  8. 逻辑回归能摆平二分类因变量,那……不止二分类呢?
  9. D-Link 修复多个硬编码密码漏洞
  10. Altium Designer(九):DXF+DWG
  11. 文件共享服务器 -----ftp服务一
  12. 【硬币识别】基于matlab形态学硬币计数【含Matlab源码 683期】
  13. fastreport(B)
  14. 问题来了,个人用户可以使用短信接口吗?答案很意外
  15. NAT技术与代理服务器
  16. 用u盘装linux系统的操作全程图解,笔者教你用u盘装系统的操作全程图解
  17. SIM900A 通过RS232串口进行短信的发送。
  18. 2.1Mysql 基础--基本介绍
  19. 开发环境 - pip install cv2下载失败的解决办法
  20. 西瓜微数独家工具! 超全微博粉丝分析!!!

热门文章

  1. sharepoint文件夹本地同步_Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
  2. 4.0.13 mysql 注入_Windows2000下整合Mysql4.0.13与Tomcat4.1.24搭建Jsp环境
  3. mysql避免回环复制_【20181204】 MySQL 双主复制是如何避免回环复制的
  4. 重磅嘉宾公布,第四范式AI新品发布会进入报名倒计时
  5. rust(63)-全局静态变量
  6. 【Python】Pandas 数据类型概述与转换实战
  7. 大神推荐:国内较强的NLP高校实验室有哪些?
  8. 推荐一款文件搜索神器Everything!
  9. 在线阅读!!机器学习数学精华:线性代数
  10. 上届作品回顾丨如何在 Innovation 2021 开发者大赛中脱颖而出?