【原创】EXCEL公式经验(1)---如何拆解/拆分字符串为多列和多行,但是注意不要超过EXCEL字符串最长长度限制!
一 问题
如果你要处理这样的数据,比如把这样的一个单元格里的字符串带为多列(或多行),甚至你本身表里就有多列这样的数据
4;5;7 | 100;2;999 |
由于不能贴完整表,先做情况假设:你的这个单元格是A42,后面是B42。咱们怎么处理A42,B42看的同学如果有兴趣,可以再练习下
二公式
公式本体:TRIM(MID(SUBSTITUTE($A42,";",REPT(" ",100)),(COLUMN(A42)-1)*100+1,100))
然后往右拖为多列
详细拆解每个公式说明
trim() | 去掉空格,英文字符串有特别 |
mid() | 文本,开始数,总长度 |
rept() | 在一个单元格中,指定次数复制文本 |
substitute() | 替换文本:文本,旧内容,替换旧内容的新内容,(默认全替换)第几个要替换 |
三 遇到的问题和处理方法&总结
问题1 | 为什么要用这种$A42 $A$42,不用A42 |
因为你的原始数据放在一个单元格,但却要拆为多列,至少也得把 列号锁住把, | |
如果是拆为多行,则需要锁行数就得是A$42 | |
至于$A$42,可能是1个数据不需要拖表把 | |
问题2 | 为什么要填rept()的100,而不是10,或1 |
懂的人估计会填1001,101,11,2,而不是1000,100,10,1 | |
因为至少也得是2,才能处理一个分隔符的 | |
你自己看下原数数据具体决定 | |
懒得看保险起见就填 101 这种,100,,99也行,但也别1001,10001等,算的太慢了,效率问题 | |
问题3 | 原数数据并不放在第一列的问题 |
比如原数数据在C1了,但里面必须还要写COLUMN(A1) | |
因为COLUMN(A1)和原数数据无关,是为了取数组1,2,3,4.。。。 | |
如果是拆位多行,就得仍然取row(A1) | |
问题4 | 之前都是分多行 |
分多行问题:如果想把一列的数分成,多个行 TRIM(MID(SUBSTITUTE(A$42,";",REPT(" ",100)),(ROW(A1)-1)*100+1,100)) 然后往下拖动 |
五,未完成的内容---以后我会来继续补充,加强这个点
未完成内容(备忘) |
或者分列的方法,写成VBA,VBA的还要分别研究 |
其他的EXCEL方法,还有几种不太好的 |
还有其他的好的,都写上,还可以以后补全 |
PHONETIC()函数 |
六 备忘
(1) 我决定把本地的学习经验搬到网上了,因为本身学和用EXCEL时经常会查网上帮助,希望自己的经验也能帮助别人和自己
(2)发现CSDN真好用,表格能贴上去,显示格式真舒服
尴尬,第一次提交后,发现表格默认很窄,需要自己手动拉大。。。
(3)编程真好,我一定要学会
(4)这是我EXCEL经验的第一个,我会努力整理和写上来,另外考虑要不要上B站搞个视频,毕竟这里主要是文章
更新,发现的问题
有些较长的字符串,拆分公式返回报错
- 有些较长的字符串,拆分公式返回报错
- 尤其是公式里用 1001等,更容易,因为,这相当于把字符串 加长了 特殊符号个数N*1001 这么长,可能超了
- 但是如果改成99等,又会因为,可能99 不能远超过原字符串长度,导致中间拆分的部分数据错误,很明显的标志就是,你会发现拆分出来的个数,多于 分隔符的个数了!!
- 据说最初的字符串长度是32767,也就是大概32000左右,用这个公式要注意,替换字符串后步能超过字符串的最长长度了!!!!
- 要拆分的字符串如果很长,分割符很多,就要小心!!!
暂时的解决办法(另外,已经考虑用VBA拆分了)
- 1分段,保证每段都小于300个字符
- 2用1001这种,远大于本身字符串长度,安全,别用101这种太小了
- 3最后再合并
- 4直接用1001这种较大的空格个数,可能导致溢出长度报错查不出来
- 5不行用VBA来分段,因为公式分段,有个符号的话很麻烦,还要多个步骤
【原创】EXCEL公式经验(1)---如何拆解/拆分字符串为多列和多行,但是注意不要超过EXCEL字符串最长长度限制!相关推荐
- 一个列中多行求和_excel表格制作,Excel表格的基本操作,包含制作一个表格10方面的知识(1)...
蒹葭苍苍,白露为霜.所谓伊人,在水一方.溯洄从之,道阻且长.溯游从之,宛在水中央.蒹葭萋萋,白露未晞.所谓伊人,在水之湄.溯洄从之,道阻且跻.溯游从之,宛在水中坻.蒹葭采采,白露未已.所谓伊人,在水之 ...
- excel隐藏了列数和行数_快速隐藏Excel行和列
excel隐藏了列数和行数 In some of my Excel workbooks there are calculation rows or columns that are required ...
- excel多列多行堆叠成多列一行_「Excel技巧」如何利用indirect函数快速将一列转为多行多列排版...
HI,大家好哈. 前几天我们有聊了如何将多行多列转一列的话题,今天就顺势来聊聊如何将一列转多行多列. 因为,一份表格,如果里面只有一列,不过有一百多行,甚至几百行, 这样子排版, 一方面,不够一目了然 ...
- 【原创】EXCEL公式经验(2)--关于count(),countif(),counta(),countifs()相关多个函数总结
一 问题起源 今天用表的使用又遇到这种,拿counta()取出来的并不是非空的单元格数,而是包含了很多有公式的单元格计数,怀疑可能是这些公式的结果非空,虽然看起来没有输出可见的数.最后百度,简单方法 ...
- Excel如何利用函数将日期拆分为年月日三列显示
如下图A列是一些日期,现在想要将A列日期的年.月.日分别提取到C,D,E列单元格中. 在C2单元格输入=YEAR(A2),然后下拉填充到底即可完成年份提取 在D2单元格输入公式=MONTH(A2)并填 ...
- 我的新书:《精通Excel公式、函数与图表》已出版上市
由人民邮电出版 社出版的<精通Excel公式 .函数 与图表 >这本书本周已向全国开始发货,预计这两周就会在全国各地的书店上架销售. 本书将内容分为4部分共20章,详细讲解了Excel所包 ...
- Excel 公式格式化 /美化工具,数据统计效率++
我们在编写Excel公式,特别是复杂的,带有多层if嵌套的公式,往往会显得让人难以阅读,我最近开发了一个网页版的Excel公式格式化/美化工具来帮助大家更好地理解您或您同事写的Excel公式: Git ...
- python将输出结果写入excel多行多列_Python处理Excel之多列转多行
前几天,因为一些缘故,需要处理一个包含大量数据的Excel表格.要求具体是将如下表格中的"一""二"列变为"开始"列,"三&quo ...
- EasyExcel导出数据超过Excel单表上限时进行分表
解决的问题 Excel单表最多可以存储1048576条数据 如果超过这个多条数据则进行Excel分表. 分表的同时需要对数据进行分割,来保证不超过Excel最大存储条数. 实体类(测试用,非常简单) ...
- python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】
相关文章: python处理Excel实现自动化办公教学(含实战)[一] python处理Excel实现自动化办公教学(含实战)[二] python处理Excel实现自动化办公教学(数据筛选.公式操作 ...
最新文章
- 15张图来了解【树】,面试再也不怕被刷了
- 一个java的DES加解密类转换成C#
- 二维“有序”数组查找问题
- matlab矩阵分解
- Asterisk配置文件说明
- 快速排序 java导包_排序算法-快速排序(Java实现)
- node.js util全局变量和事件驱动events
- 【Python】小练习
- iphonexr电池容量_初代手机到iPhone 12,从电池容量变化看充电功率的发展
- 数学图形(1.49)Nephroid曲线
- Java的一些基础问题
- 使用DPM2007来保护企业数据
- bootice添加黑苹果引导_Clover(四叶草)引导多系统(Linux亦可),黑苹果引导教程
- c语言题目详解——实现四舍五入
- spring boot-Soap协议客户端集成(根据WSDL文档调用WebService、maven的jaxb2插件)
- APP开发:教你从零开始制作一个APP
- [LuoGu] P3957 跳房子
- DAOs(去中心化自治组织)
- 第4版 网页设计与制作 HTML5+CSS3+JavaScript(赵丰年 编著)学习笔记
- pyqt5 selenium 等待元素出现 visibility_of_element_located