EXCEL单元格里从右往左查找匹配字符串

  • A+
所属分类:系统文档

excel中有一个search 函数是从字符串首开始搜索,返回第一个找到的字符串的位置的,现在我要从串字符串尾部查找,找倒数第一个匹配的字符串,有什么办法么?

-----------------

看看这个对你有没用

SEARCH

请参阅

也应用于:

SEARCHB

SEARCH 返回从 start_num 开始首次找到特定字符或文本字符串的位置上特定字符的编号。使用 SEARCH 可确定字符或文本字符串在其他文本字符串中的位置,这样就可使用 MID 或 REPLACE 函数更改文本。

SEARCHB 也可在其他文本字符串 (within_text) 中查找文本字符串 (find_text),并返回 find_text 的起始位置编号。此结果是基于每个字符所使用的字节数,并从 start_num 开始的。此函数用于双字节字符。此外,也可使用 FINDB 在其他文本字符串中查找文本字符串。

语法

SEARCH(find_text,within_text,start_num)

SEARCHB(find_text,within_text,start_num)

Find_text 是要查找的文本。可以在 find_text 中使用通配符,包括问号 (?) 和星号 (*)。问号可匹配任意的单个字符,星号可匹配任意一串字符。如果要查找真正的问号或星号,请在该字符前键入波形符 (~)。

Within_text 是要在其中查找 find_text 的文本。

Start_num 是 within_text 中开始查找的字符的编号。

提示

使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串 AYF0093.YoungMensApparel,如果要查找文本字符串中说明部分的第一个 Y 的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。SEARCH 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。SEARCH 总是从 within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。

说明

SEARCH 和 SEARCHB 在查找文本时不区分大小写。
SEARCH 和 SEARCHB 类似于 FIND 和 FINDB,但 FIND 和 FINDB 区分大小写。
如果没有找到 find_text,则返回错误值 #VALUE!。
如果忽略 start_num,则假定其为 1。
如果 start_num 不大于 0(零)或大于 within_text,则返回错误值 #VALUE!。
示例 (SEARCH)

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
A
1 数据
2 Statements
3 Profit Margin
4 margin

公式 说明(结果)
=SEARCH("e",A2,6) 上面第一个字符串中的第一个 e 出现的位置,开始于第六个位置 (7)
=SEARCH(A4,A3) margin 在 Profit Margin 中的位置 (8)
=REPLACE(A3,SEARCH(A4,A3),6,"Amount") 用 Amount 替换 Margin

示例 (SEARCHB)

在下列示例中,SEARCH 返回 2,因为空文本 ("") 位于字符串的第二个位置,而 SEARCHB 返回 3,因为每个字符是按字节进行计数的,第一个字符含有两个字节,因此第二个字符将从第三个字节开始。

SEARCH("","") 等于 2

=SEARCHB("","") 等于 3

回答者: loveangelboy - 秀才 二级   4-18 10:38

=SEARCH("/",SUBSTITUTE(A1,"n","/",(LEN(A1)-LEN(SUBSTITUTE(A1,"n","")))/LEN("n")))
式中,“/”代表一个源字符串中不存在的字符。
“n”代表要查找的字符或字符串,其长度不限,但如果是某个字符的多次重复,则可能出错。
要查找的字符或字符串不存在于源字符串中,报错。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: