EXCEL 查找某个字符在字符串中最后一次出现的位置
在EXCEL文档里想从很长的文件路径中取得文件名,【数据】→【分列】是个不错的选择,但用函数会显得更高大上一些。
首先,需要获取最后一个"\"所在的位置。
方法1:
FIND("@",SUBSTITUTE(A1(字符串所在单元格),"\","@",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))
这个比较好理解,只要理解了SUBSTITUTE第四个参数的作用就好。
SUBSTITUTE第四个参数:可选。 指定要用 new_text 替换 old_text 的事件。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。
例:
所以,整个函数的意思是把字符串中最后一个"\"替换成字符串中没出现过的其他字符(如“@”),然后在查找这个没出现过的字符所在的位置就可以了。
方法2:
LOOKUP(1,0/(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\"),COLUMN(1:1))
这个理解起来比较难。
先来理解COLUMN(1:1)的意思:
在空白EXCEL文档里选中第一行,在编辑栏里输入=COLUMN(1:1),再按Ctrl+Shift+Enter组合键
可以看到COLUMN(1:1)的结果是一个1~16384的数组。
再看(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\"),作用是一个个取出字符串中的字符,并判断是否与"\"相同,相同则返回TRUE,否则返回FALSE。
0/TRUE得0,0/FALSE得
所以0/(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\")的结果是
所以LOOKUP(1,0/(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\"),COLUMN(1:1))的结果是
EXCEL帮助里的备注:
本例中的LOOKUP函数在0/(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\")里是找不到1的,所以它找到的是0,但在0/(MID(A1(字符串所在单元格),COLUMN(1:1),1)="\")里有多个0,从结果来看,它找到的是最后一个0。(为什么?在EXCEL帮助里没有找到相关说明)
声明:本文是本人查阅网上及书籍等各种资料,再加上自己的实际测试总结而来,仅供学习交流用,请勿使用于商业用途,任何由此产生的法律版权问题概不负责,谢谢。
EXCEL 查找某个字符在字符串中最后一次出现的位置的更多相关文章
- sqlserver 查找某个字符在字符串中第N次出现的位置
例如:查找'A,' 在'A,B,C,D,A,B,C,D,C,D,B,A,C,E,'中第二次出现的位置怎么实现,SQL 中有这样的函数吗? SQL code /* 方法很多,这里简单写一个 返回@fin ...
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
头文件:#include <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const char *str, ...
- oracle查找某个字符在字符串中的个数的技巧
Oracle没有提供查找某个字符在字符串中出现次数的函数,当遇到这样的需求的时候,我们只能使用另外的方法去实现. 简单的思路就是,假设有个字符串str,然后里面有n个[a]字符,当把这n个[a]字符去 ...
- 统计字符在字符串中第n次出现的位置
输入一个字符串s,一个数字n和一个字符c,统计这个字符c在字符串s中第n次出现的位置 输入格式: 输入3行.第1行是字符串s,第2行是数字n,第3行是被查找的字符c. 输出格式: 第n个字符在字符串中 ...
- 查找字符在字符串中第N次出现的位置
1.查找字符串 @find 在字符串 @str 中第 (@n) 次出现的位置.没有第 (@n) 次返回 0. 返回@find在@str中第(@n)次出现的位置.没有第(@n)次返回0. ), ), ...
- python 实现查找某个字符在字符串中出现次数,并以字典形式输出
把字符串'aenabsascd'中的字符出现的次数统计出来,并以字典形式输出 方法一: def count_str(str): dic={} for i in str: dic[i]=str.coun ...
- JS查找某个字符在字符串中出现的位置及次数
var str = 'fdhfgcsaedvcfhgfh'; var index = str.indexOf('f'); // 字符出现的位置 var num = 0; // 这个字符出现的次数 wh ...
- php--某个字符在字符串中的位置比较
<?php $haystack = 'helloe'; $needle = 'e'; $pos = stripos($haystack, $needle); echo "\n" ...
- C 语言实例 - 查找字符在字符串中出现的次数
C 语言实例 - 查找字符在字符串中出现的次数 C 语言实例 C 语言实例 查找字符在字符串中的起始位置(索引值从 开始). 实例 #include <stdio.h> int main( ...
随机推荐
- AbstractWrapper ,EntityWrapper, QueryWrapper, UpdateWrappe
https://blog.csdn.net/qq_42112846/article/details/88086035 https://blog.csdn.net/m0_37034294/article ...
- socket编程和并发服务器
socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket. 在TCP协议中,建立连接的两个进程 ...
- [Luogu] 消息扩散
https://www.luogu.org/problemnew/show/2002 Tarjan 缩点 + 入度判断 #include <iostream> #include <c ...
- Qt读写Json格式配置文件
头文件Config.h #pragma once #include <QVariantMap> class Config { public: Config(const QString &a ...
- MySQL基础之二:主从复制
# mysql主从复制逻辑: 1.从库执行start slave 开启主从复制. 2.从库请求连接到主库,并且指定binlog文件以及位置后发出请求. 3.主库收到从库请求后,将信息返回给从库,除了信 ...
- Selenium处理页面懒加载方法
在做selenium webdriver 在做UI自动化时,有些页面时使用懒加载的形式显示页面图片,如果在不向下移动滚动条时,获取到的图片会是网站的默认图片和真实的图片不相符. 1.滑动滚动条 1. ...
- Linux操作系统load average过高,kworker占用较多cpu
Linux操作系统load average过高,kworker占用较多cpu 今天巡检发现,mc1的K8S服务器集群有些异常,负载不太均衡.其中10.2.75.32-34,49的load averag ...
- New in Python 3.8.0
Python 3.8.0 发布时间: Oct. 14, 2019 这是一个Python3.8.0的稳定发行版. Python3.8.0是最新的Python编程语言发行版,ta包含了许多新的特征和优化. ...
- /proc/sys/net/ipv4/ip_conntrack_max
Things to know (best practices and “issues”) READ IT !!! — uWSGI 2.0 documentationhttps://uwsgi-docs ...
- css3实现jQuery的slideUp和slideDown效果
最近打算做一些交互优化方面的轮子.虽然轮子别人都弄过,但是自己没弄过.重复造轮子对知识理解还是有好处的.本次轮子如题目.直接代码. <!DOCTYPE html> <html lan ...