excel数据处理: 如何用99个空格提取单元格数据

news2024/11/18 5:46:52

脑洞大开,提取单元格数据用99个空格就成!真想扒开那些大神的脑袋看看,是怎么想出这样匪夷所思的方法的。

需要从规格型号中提取容值、封装、耐压三组数据,如下:

数据源在A列,数据量很大,需要提取的容值、封装和耐压三项数据在单元格中的字节位置不固定。能找到的规律就是提取的数据分别位于数据源的第二、三、四个逗号之后。

当我们遇到问题的时候,找到规律是解决问题的关键。现在规律找到了,因此解决方法也就有了。这里有三种方法,从最简单的快捷键操作到脑洞大开的空格替换法都有,以下分别进行介绍。

1.快速填充法Ctrl+E

操作要点:

(1)在B2单元格输入0402时,要先输入一个单引号,或者把单元格修改为文本格式再输入;

(2)只输入一个数据可能无法通过Ctrl+E得到正确结果,这时候连续输入两个数据就可以了。

提示:组合键Ctrl+ E只能在Excel2013及以上的版本才能使用。

就本例而言,Ctrl+ E略微显得有些麻烦,因此再介绍一种用分列的处理方法。

2.分列法

操作要点:

(1)分列过程中使用逗号进行分隔;

(2)需要跳过不导入的列;

(3)对容值这列数据设置为文本格式;

(4)手工指定数据存放的目标区域。

相比第一个方法来说,使用分列就简单了许多,同时通过这个例子,大家也可以对分列这个强大的功能有了深入的了解。

使用分列虽然比较方便,但如果经常要处理这类数据的话,操作量也是蛮大的,最后我们再来分享一个公式的做法。

3. 脑洞大开法:TRIM-MID-SUBSTITUTE-REPT组合公式

使用公式:

=TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",99)),COLUMN(B1)*99,99))

右拉下拉即可得到所需的结果。

公式解析:

这个公式里用到了五个函数,其中有我们比较熟悉的MID和COLUMN,也有我们不太常用的TRIM、SUBSTITUTE和REPT函数。下面简单来解释一下这个公式的思路。

公式的核心部分是SUBSTITUTE($A2,",",REPT(" ",99)),这部分的作用是进行替换

SUBSTITUTE函数格式为:

SUBSTITUTE(在哪里替换,替换什么,换成什么,换第几个)

例如:

公式=SUBSTITUTE($A2,",","-",3)的效果就是把A2单元格的第3个逗号换成-号。

当省略第四参数的时候,代表逗号全部替换,如图:

本例中是把A2中的逗号换成了REPT(" ",99),也就是99个空格。

REPT函数的格式为:

REPT(要重复的字符,重复次数)

例如:

REPT(“★”,5),就是将★重复五次。

至于公式中为什么要用99个空格,完全是一种套路,继续看完公式的其他部分或许就理解了。

使用SUBSTITUTE得到的数据还需要用MID函数来进行提取。MID函数大家应该比较熟悉了,基本格式为:MID(数据源,从什么位置开始取,取几个字)。在本例中要提取的数据源就是SUBSTITUTE(),而要提取的容值的位置原本是在第2个逗号之后,由于我们把逗号换成了99个空格,要提取的位置前面至少有两组空格也就是2*99个字符;相应封装的提取的位置是3*99,耐压的是4*99。采用公式右拉,所以这里用COLUMN(B1)*99作为提取位置。MID的最后一个参数是要取几个字符,为了保险起见,统一提取99个字。

也就是说,经过MID(SUBSTITUTE(),COLUMN(B1)*99,99)这部分公式运算后,得到的结果是我们实际需要的容值数据包含在前后空格中。为了便于大家理解,临时将空格换成-,可以直观地看出效果:

我们肯定不希望得到的结果中包含有大量无用的空格,因此在最外层套一个TRIM函数去掉这些空格。TRIM函数只有一个参数,功能就是去掉字符串中多余的空格。

理解了这个公式吗?为何要用99个空格呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/338714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序Springboot短视频分享系统

3.1小程序端 用户注册页面,输入用户的个人信息点击注册即可。 注册完成后会返回到登录页面,用户输入自己注册的账号密码即可登录成功 登录成功后我们可以看到有相关的视频还有视频信息,我的信息等。 视频信息推荐是按照点击次数进行推荐的&am…

Zabbix 构建监控告警平台(四)

Zabbix ActionZabbix Macros1.Zabbix Action 1.1动作Action简介 当某个触发器状态发生改变(如Problem、OK),可以采取相应的动作,如: 执行远程命令 邮件,短信,微信告警,电话 1.2告警实验简介 1. 创建告警media type&…

9.语义HTMLVScode扩展推荐

语义HTML 定义: 一个元素使用我们并不是只关心他是什么样子的,而是要去关心这个元素名称的实际意义或者代表什么 我们使用标签并不是他仅代表导航栏,只是将导航栏部分归为一个块。现实生活中,多使用之前都是使用div这个元素去构…

删除有序数组中的重复项-力扣26-java

一、题目描述给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums…

软件设计(九)

软件设计(八)https://blog.csdn.net/ke1ying/article/details/128954569?spm1001.2014.3001.5501 81、模块A将学生信息,即学生姓名、学号、手机等放到一个结构体系中,传递给模块B,模块A和B之间的耦合类型为 什么耦合…

【C++设计模式】学习笔记(1):面向对象设计原则

目录 简介面向对象设计原则(1)依赖倒置原则(DIP)(2)开放封闭原则(OCP)(3)单一职责原则(SRP)(4)Liskov替换原则(LSP)(5)接口隔离原则(ISP)(6)优先使用对象组合,而不是类继承(7)封装变化点(8)针对接口编程,而不是针对实现编程结语简介 Hello! 非常感谢您阅读海…

变分自编码器背后的直觉【VAE】

在阅读有关机器学习的内容时,你遇到的大部分材料可能都与分类问题有关。 你有一个特定的输入,ML 模型试图找出该输入的特征。 例如,分类模型可以决定图像中是否包含猫。 当你想创建具有预定义特征的数据时,反过来又如何呢&#x…

再不跳槽,就晚了

从时间节点上来看,3月、4月是每年跳槽的黄金季! 以 BAT 为代表的互联网大厂,无论是薪资待遇、还是平台和福利,都一直是求职者眼中的香饽饽,“大厂经历” 在国内就业环境中无异于一块金子招牌。在这金三银四的时间里&a…

预处理指令详解

预处理指令详解**1.预定义符号****2.#define****2.1 #define 定义标识符****2.2 #define 定义宏****2.3 #define 替换规则****2.4 #和##****#的作用****##的作用****2.5 带副作用的宏参数****2.6 宏和函数的对比****宏和函数对比图****2.7 命名约定****3.#undef**4.条件编译4.1…

Leg转Goh引擎和架设单机+配置登陆器教程

教程准备1、Leg版本一个2、Goh引擎一套3、电脑一台(最好联网)前言:BLUE/LEGS/Gob/Goh/九龍、4K、AspM2第一步:更换引擎1、把版本自带的LEG引擎换成Goh引擎2、删除服务端里面的exe、dll文件(也可以直接更新)3、清理登录和游戏网关里面的配置文件4、更新引…

Sandman:一款基于NTP协议的红队后门研究工具

关于Sandman Sandman是一款基于NTP的强大后门工具,该工具可以帮助广大研究人员在一个安全增强型网络系统中执行红队任务。 Sandman可以充当Stager使用,该工具利用了NTP(一个用于计算机时间/日期同步协议)从预定义的服务器获取并…

菌子导航系统(持续开发中)

文章目录菌子导航前言项目架构spring-cloud 和 spring-boot 版本选择使用到的组件(依赖)架构分层项目基本功能1 使用Nacos做配置中心2 logback日志3 mybatis-plus操作数据库4 Caffeine 缓存整合5 LocalDateTime 序列化&反序列化6 参数校验快速失败配…

ubuntu20.04 系统下 .7z 文件解压缩到指定的目录下

问题描述 环境: ubuntu 20.04 ubuntu 下有个 7z 的压缩文件需要解压,需要解压到指定的目录下,而不是压缩包当前目录下 安装 p7zip-full ubuntu 下的 7z 解压软件: p7zip-full 安装命令: sudo apt install p7zip-fu…

04-PS人像磨皮方法

1.高斯模糊磨皮 这种方法的原理就是建立一个将原图高斯模糊后图层, 然后用蒙版加画笔或者历史画笔工具将需要磨皮的地方涂抹出来, 通过图层透明度, 画笔流量等参数来控制磨皮程度 1.新建图层(命名为了高斯模糊磨皮), 混合模式设置为正常, 然后选择高斯模糊, 模糊数值设置到看…

前端也能悄悄对视频截图?js实现对视频按帧缓存

前言 虽然最后没有采用这种方案来实现滚动控制视频进度,但是仍然想自己试试这种方案的实现,毕竟应用范围也挺广的。 核心代码并不多,算是一篇小短文~。 掘金好像不允许放站外演示链接,所以这里就用动图大概展示下最终…

STL——list

一、list介绍及使用 1. list文档介绍 (1)list是可以在常数范围内,在任意位置进行插入、删除的序列式容器,并且该容器可以前后双向迭代。 (2)list的底层是带头结点的双向循环链表,其中每个元素…

【Java|golang】2335. 装满杯子需要的最短总时长

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的…

web期末复习 2023.02.11

文章目录Web 的概念Web 组成用户通过浏览器请求资源的过程:HTML 超文本标记语言CSS插入样式表的方法有三种:对象,类,实例一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:JavaScript 用法什么是 Java Server Pages?JSP 注释JSP 的 J…

《Linux运维实战:Centos7.6使用haproxy部署rabbitmq3.9.16高可用镜像模式集群》

一、集群架构 说明:对于消息的生产和消费者可以通过HAProxy的软负载将请求分发至RabbitMQ集群中的Node1~Node7节点,其中Node8~Node10的三个节点作为磁盘节点保存集群元数据和配置信息。 二、环境信息 环境信息如下: …

剑指 Offer 52. 两个链表的第一个公共节点

摘要 剑指 Offer 52. 两个链表的第一个公共节点 一、两个链表的第一个公共节点解析 使用双指针的方法,可以将空间复杂度降至 O(1)。只有当链表 headA headB都不为空时,两个链表才可能相交。因此首先判断链表 headA和 headB是否为空,如果其…