Excel从右向左查找
平日学习点滴
Excel从右向左查找
今天看一个小问题,是前几天遇到的,就是要在Excel里面实现从右向左查找。比如给定字符串“abc,defg,hi,jkl”,需要找到最右一个逗号的位置(即12),或者最右一个逗号右边的部分(即“jkl”)。
Excel里面字符串查找用的FIND函数,只能从左向右(可以指定起始位置)地进行字符串查找。如果想要找到最右边的待查字符串,就要稍微费点儿劲儿了。为了方便起见,下面称待查字符串为分隔符。
如果分隔符的个数是已知且确定的(比如IP地址中的小数点),可以通过多个FIND函数嵌套来实现。但这个其实是从左到右查找第n个。如果分隔符的个数不确定,这个方法就不太合适的。
我的处理方法是这样的,假设单元格A1存放着包含分隔符的完整字符串(如上面提到的“abc,defg,hi,jkl”),那么查找最右一个逗号的公式为:
=FIND(CHAR(1),SUBSTITUTE(A1,",",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))
这个公式的结果显然是12。
看起来很复杂,其实一步步拆解开并不是太难,基本的原理是这样的:
SUBSTITUTE(A1,",",""):把原字符串中的逗号全部删除(替换成空字符串),得到临时字符串text1;
LEN(A1)-LEN(text1):用原字符串的长度减去text1的长度,即可知道原字符串中总共有多少个逗号,num2;
SUBSTITUTE(A1,",",CHAR(1),num2):利用SUBSTITUE函数,把原字符串中的最后一个逗号替换成特殊字符CHAR(1),得到临时字符串text3;
FIND(CHAR(1),text3):在text3中查找特殊字符CHAR(1),其位置就是原字符串中最后一个逗号的位置pos。
真是一个奇妙的方法。
找到位置后,要取出左边或者右边的内容就很简单了,公式分别是(用pos代替那个复杂的FIND函数):=LEFT(A1,pos-1),=RIGHT(A1,LEN(A1)-pos)。
补充:
上面那个公式只是适用于单个字符的查找,如果分隔符是多个字符,就需要稍微修改一下。假设单元格B1里面存放着分隔符本身,那么公式可以修改为:
=FIND(CHAR(1),SUBSTITUTE(A1,B1,CHAR(1),(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1)))
唯一的变化就是上述的第2步,原字符串的长度减去text1的长度后,要除以分隔符本身的长度,才是分隔符的个数。
在这种情况下,取(最右分隔符)右边的子串的公式也要相应地修改为:=RIGHT(A1,LEN(A1)+1-LEN(B1)-pos)。
转载于:https://blog.51cto.com/snowdream/1418455
Excel从右向左查找相关推荐
- Python从右向左查找字符串(倒序查找 从右往左)
2021-10-14更新: 其实有一个很简单的内置函数,就是rfind,示例如下: txt = '0123456789' print(txt.rfind('8')) # 输入结果为8,也就是查找到的位 ...
- 区间子数组个数 - LeetCode 795 - 从左向右与从右向左查找
一.问题描述 给你一个整数数组 nums 和 两个整数:left 及 right .找出 nums 中连续.非空且其中最大元素在范围 [left, right] 内的子数组,并返回满足条件的子数组的个 ...
- # 字符串从右往左查找_python数据类型及字符串(2)
八月如期来临,最棒的就是自己不断的坚持着某一件事.昨天晚上的我攻克并战胜了自己,继续着健身.八月,加油! 回顾重点: 1. 变量 2. 变量作用 3. 变量命名 目录: 1. 数据类型 ## 算术运算 ...
- # 字符串从右往左查找_字符串匹配(搜索,查找)算法
(一)前言 所谓的字符串匹配就是在一个长字符串(可称文本T)中找一个短字符串(可称模式P),看长字符串中是否存在短字符串,若存在则返回出现的第一个位置,若不存在则返回一个标记.字符串搜索算法有很多,比 ...
- 快速排序为何先要从右向左查找的原因
假设我们现在对"6 1 2 7 9 3 4 5 10 8"这个10个数进行排序.首先在这个序列中随便找一个数作为基准数.为了方便,就让第一个数6作为基准数吧.接下来,需要将这个序列 ...
- 1.4 Codesys在字符串1查找字符串2的位置(从左向右、从右向左)功能
1.在长字符串String1中的指定位置开始,从左向右查找短字符串String2最先出现的位置.具体功能代码如下: FUNCTION FINDP : INT VAR_INPUTInString1 : ...
- 从右往左截取字符_EXCEL公式以指定分隔符从右往左截取字符
从A串中提取从"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的indexOf功能,find是从左往右查找的,在EXC ...
- 单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右、从右往左、从上往下或者从下往上。例如下面的迷阵中包含quot等单词。
单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右.从右往左.从上往下或者从下往上.例如下面的迷阵中包含quot等单词. rmhlzxceuq bxmichelle mnn ...
- [Excel]如何使Vlookup由右往左找? 或使Hlookup由下往上找?
Vlookup和Hlookup函數常用於查找資料,其中Vlookup顧名思義用於資料水平查找,而Hlookup則用於垂直查找.同時Vlookup的初始設置為由左往右尋找符合條件的資料,Hlookup的 ...
最新文章
- pytorch 初始化权重
- 实验三进程调度模拟程序
- js url传值中文乱码之解决之道
- SpringBoot中Mybatis打印sql日志
- Rocketmq集群架构图
- 彻底了解JS中难懂的闭包
- [译]预留位置队列PRQueue:多线程程序中消息输入队列和消息输出队列保持同序...
- mysql索引的类型和查看、添加、修改、删除索引的方法介绍
- 6 功能4:文章详情页、点赞功能
- python人脸融合_用Python玩人脸融合,想知道你未来孩子的长相?(附代码)
- [转]截获asp.net http输出流自己做处理
- 一个类似权限挂载的设计
- adb shell 之 screenrecord
- Python 入门 Day5
- mysql多表in查询_MySQL多表查询
- 矩形已知三个点的坐标,求第四个点的坐标
- C专家编程 第11章 你懂得C,所以C++不再话下 11.1 初识OOP
- 大量STATSPACK数据统计分析
- css背景分割两种颜色
- 《软件开发与创新:ThoughtWorks文集:续集》