设计网站的优势免费建站哪里找
news/
2025/10/3 3:07:22/
文章来源:
设计网站的优势,免费建站哪里找,厦门有没有做网站的,网站内容页面怎么做本篇的主题是将单元格内一串文本#xff0c;找出所有数字并求和#xff0c;如下图。难度较高#xff0c;新手建议仅了解下#xff0c;先学会数组运用#xff0c;再研究此知识点。废话少说#xff0c;步入正题。重点说明#xff1a;本篇只针对文本内整数的数字进行提取并…本篇的主题是将单元格内一串文本找出所有数字并求和如下图。难度较高新手建议仅了解下先学会数组运用再研究此知识点。废话少说步入正题。重点说明本篇只针对文本内整数的数字进行提取并求和如果含小数点此方式无效。首先解这道题需要构思方法本篇以作者的方法进行描述思路是用LEFT函数逐步提取内容我们以第一个文本作为例子如下图对于有一定水平的朋友解决上图应该不难无非就是利用LEFTROW函数进行逐步提取。原文本中明明只有14个字符为什么要做15个呢因为每个单元格不知道有多少个字符宁可多不可少也可以设置99位只要比所有单元格中文本个数最多的那个更多即可。有朋友会说第14行与第15行是一样的不会影响计算结果吗其实不会影响上图中我们最终的目的是将15个单元格内容从右向左进行提取只要能对准第8行和第13行将这两行向左提取数字的位数数字就能被提取出来但上图中最右侧可不止这两行是纯数字那么我们就要一一对应怎么对应呢我们再看一个图。公式LEFT(A3,ROW($A$1:$A$15))当LEFT函数第一参数为文本第二参数为右侧的提取位数时0值返回的是错误值第8行的数字3和第13行的数字2将是我们真正要提取的内容错误值很好处理最终形成数组去掉错误值再用SUM函数进行求和就能得到我们最终的计算结果。看到这里我们能想到核心方式就是右侧的提取位数只要位数出来问题就迎刃而解我们需要利用FREQUENCY函数的频率分布确认每个文本非数字之间的频率。上图是频率的思路只有8行无法和15行进行对应怎么才能对应呢我们先来拆解FREQUENCY函数每个参数得到的结果是什么。说明上图中描述为了更清晰均未加绝对引用在实际操作过程中公式内所有区域都必须加绝对引用否则下拉将改变区域。公式ISERR(--MID(B3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15)思路左侧得到1~15的行号右侧A项拆分每个字符B项使用 两个减号 转换成数字格式文本为乱码后用ISERR函数判断文本逻辑值乱码的逻辑值是TRUEC项继续得到1~15行号D项将B和C两项相乘即行号顺序不变纯数字变成0了。这样就能和拆分的文本进行一一对应如果是文本则按照1~15数字的顺序排列遇到数字则直接显示0然后利用FREQUENCY函数用第二参数在第一参数内逐个找频率。我们将得到的频率的结果与我们理想中的结果进行对比,并用RIGHT函数对频率结果进行测试。公式FREQUENCY(ROW($A$1:$A$15),ISERR(--MID(A3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15))完全乱套了但我们发现15行频率结果有数字1而不是0但是我们就算是1用RIGHT函数提取出来的也是文本字符不影响随便是几只要提取出来的不是纯数字就能满足我们的要求68行是0不管它。整体来看能满足我们要求的是数字4和数字3不仅和理想结果错了一位还比理想结果大一位都是有规律的错一位我们可以将文本拆解前组合任意单字符再来看效果。前面加一个符号这样就对称了。我们例题中最多是15位数当加了一个字符后正好是15位大家在实际操作过程中千万不能卡的那么准尽量大一点也不能大太多因为会严重影响速度比如预测最多有50个字符我们可以设置成100即可公式LEFT(A3,ROW($A$1:$A$15))虽然是对称了但是频率结果都比理想结果大1位这样也好办我们再到右侧组合一个空白字符即可这里有个细节如果直接在原文本右侧加空格是没用的因为第一位还是“”第二位还是字符“E”因此我们在用LEFT函数逐步提取完成后再来组合空白字符。为什么是空白字符呢因为RIGHT函数提取后文本无法转换成数字空白可在转换时自动去掉数字空白经过转换等于数值每一个提取的文本后面加上一个空白字符后,频率为1的提取的都是空白对应的数字4和数字3则提取的我们最终的数字后面带空格公式LEFT( A3,ROW($A$1:$A$15)) 为了方便大家复制我们将上述中最终版公式列举出来。左侧公式LEFT( A3,ROW($A$1:$A$15)) 右侧公式FREQUENCY(ROW($A$1:$A$15),ISERR(--MID(A3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15))然后使用RIGHT函数进行组合组合RIGHT左侧公式右侧公式*1公式右侧乘1的目的是将文本数字转换成真正数字空白不影响直接自动去掉了得到的一组数中有乱码和纯数字再嵌套一层IFERROR函数去掉乱码最后嵌套一层SUM函数进行求和。最终完整版公式SUM(IFERROR(RIGHT(LEFT( A3,ROW($A$1:$A$15)) ,FREQUENCY(ROW($A$1:$A$15),ISERR(MID(A3,ROW($A$1:$A$15),1)*1)*ROW($A$1:$A$15)))*1,))结语◆有的人会觉得我可以用辅助或者16版本的CTRLE又或者VBA正则去处理我想说函数玩的就是思路当你水平上升到一定程度当年看似非常难的问题现在你可能几分钟就能解决先苦后甜是一样的道理你可以用16版快捷键但遇到快捷键无法处理的怎么办你可以用辅助如果不需要继续深入学下去辅助是最合适的有个段子没有什么是IF解决不了的辅助也同样适用但只能局限于当前水平你也可以用VBA正则去处理首先你得有VBA的水平没有水平等于白说。函数学到一定程度去学VBA最合适至少VBA会调用工作表函数如果函数基础差甚至常用函数都不会学VBA只会举步维艰这是作者总结的经验希望大家受益!◆学而不用则殆希望大家学习后利用到自己的工作中哪怕是点滴的应用也是一种进步。给自己的工作带来非常大的方便。免费微信交流群liuou5201314
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925503.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!