字符串查找要害字符

1天前 (11-15 02:18)阅读2回复0
lrj
lrj
  • 管理员
  • 注册排名2
  • 经验值55805
  • 级别管理员
  • 主题11161
  • 回复0
楼主

Excel 中,函数与公式无疑是更具有魅力的功用之一。利用函数与公式,能搀扶帮助用户完成多种要求的数据运算、汇总、提取等工做。函数与公式同数据验证功用相连系,能限造数据的输进内容或类型,还能够造造动态更新的下拉菜单。函数与公式同前提格局功用相连系,能根据单位格中的内容,展现出用户自定义的格局。在高级图表、透视表等利用中,也少不了函数与公式的身影。

固然进修函数与公式没有捷径,但也是讲究办法的。小编总结了无数 Excel 高手的进修心得,以便教给各人准确的进修办法和构想。今天我们来领会若何利用 Excel 查找字符串中的关健字符。

在字符串中查找关键字符

1

FIND 函数和 SEARCH 函数

当需要从字符串中提取部门字符时,提取的位置和字符数量往往是不确定的,需要先根据指定前提停止定位。FIND 函数和 SEARCH 函数,以及用于双字节字符的 FINDB 函数和 SEARCHB 函数都可用于在字符串的文本中查找定位。

FIND 函数和 SEARCH 函数可以根据指定的字符串,在包罗该字符串的另一个字符串中返回该字符串的起始位置。两个函数的语法不异,区别在于 FIND 函数区分大小写,而 SEARCH 函数不区分大小写。FIND 函数不撑持通配符,SEARCH 函数则撑持通配符。

FIND(find_text, within_text, [start_num])

SEARCH(find_text, within_text, [start_num])

第一参数 find_text 是要查找的文本,第二参数 within_text 是包罗查找文本的源文本。第三参数 [start_num] 为可选参数,表达从源文本的第几个字符位置起头查找,假设省略该参数,默认值为 1。无论从第几个字符位置起头查找,最末返回的位置信息都从文本串的第一个字符算起。

假设源文本中存在多个要查找的文本,函数将返回从指定位置起头向右初次呈现的位置。假设源文本中不包罗要查找的文本,则返回错误值“#VALUE!”。

以下两个公式都返回“Excel”在字符串“Excel 之家 ExcelHome”中第一次呈现的位置 1。

=FIND("Excel","Excel 之家 ExcelHome")

=SEARCH("Excel","Excel 之家 ExcelHome")

以下公式从字符串“Excel 之家 ExcelHome”第 5 个字符起头查找“Excel”,成果返回 8。

=FIND("Excel","Excel 之家 ExcelHome",5)

=SEARCH("Excel","Excel之家ExcelHome",5)

示例1-1 揣度回路名称能否包罗“照明”

图 1-1 所示,是某建筑公司电气施工设想计划表的部门内容,需要揣度 B 列的回路名称中能否包罗“照明”。

图1-1 电气施工设想计划表

在 J2 单位格输进以下公式,将公式向下复造到数据区域最初一行。

=IF(ISNUMBER(FIND(“照明”,B2)),“是”,“否”)

FIND 函数以“照明”为查询关键字,在 B2 单位格中查找该关键字初次呈现的位置。假设 B2 单位格中包罗要查询的关键字,则返回表达位置的数值,不然返回错误值“#VALUE!”。

接下来利用 ISNUMBER 函数揣度 FIND 函数得到成果能否为数值,假设是数值则返回逻辑值TRUE,不然将返回 FALSE。

最初利用 IF 函数,当 ISNUMBER 函数的揣度成果为 TRUE 时,阐明 B2 单位格中包罗要查询的关键字,公式返回指定内容“是”,不然返回“否”。

示例1-2 提取最初一个斜杠之前的字符

图 1-2 所示,是某商贸公司的部门酒水商品清单,此中 B 列是商品中英文名称及产物规格和类型的混合内容,需要从中提取出商品的中英文名称和规格信息。

图1-2 酒水商品清单

看察数据法例能够发现,B 列的字符串中包罗有多个斜杠,而最初一个斜杠之前的字符便是中英文名称和规格。因而只要揣度出最初一个斜杠的位置,再利用 LEFT 函数从字符串的最左侧起头提取出响应长度的字符串即可。

在C2单位格输进以下数组公式,按 Ctrl+Shift+Enter组合键完毕编纂,将公式向下复造到数据区域最初一行。

{10;10;……16;16;……25;25;……48;48;……54;54;……54;#VALUE!;……}

FIND 函数在源文本中查找不到关键字符时会返回错误值“#VALUE!”,本例内存数组中表达位置的更大数字为 54,表达从第 54 个字符往后,已没有要查询的符号 "/"。因而只要利用 COUNT函数揣度 FIND 函数返回的内存数组中有几个数值,其成果就是最初一个斜杠所在的位置。

最初利用 LEFT 函数,根据 COUNT 函数返回的成果从 B2 单位格最左侧起头提取对应长度的字符串。COUNT 函数的成果减往 1,目标是提取到最初一个斜杠的位置再向左一个字符。

2

FINDB 函数和 SEARCHB 函数

FINDB 函数和 SEARCHB 函数别离与 FIND 函数和 SEARCH 函数对应,区别仅在于返回的查找字符串在源文本中的位置是以字节为单元计算。操纵 SEARCHB 函数撑持通配符的特征,能够停止模糊查找。

示例1-3 提取混合内容中的英文姓名

如图 1-3 所示,A 列是一些中英文 混合的联络人信息,需要提取出英文姓名。

图1-3 提取混合内容中的中文姓名

本例中的中英文之间没有间隔符号,而 且英文名称的起始字母也不不异,因而无法利用查询固定间隔符号的办法来确定要提取的字符位置。

在 B2 单位格输进以下公式,向下复造 到 B10 单位格。

=MIDB(A2,SEARCHB("?",A2),LEN(A2)*2-LENB(A2))

公式利用 SEARCHB 函数,以通配符半角问号“?”做为关键字,在 A2 单位格中返回首个半 角字符呈现的字节位置,得到成果为 7。

“LEN(A2)*2-LENB(A2)”部门,用于计算 A2 单位格中的半角字符数,成果为 15。

最初利用 MIDB 函数,从 A2 单位格中第 7 个字节起头,提取出 15 个字节数长度的字符串。

掌握以上函数的详细运用,大大搀扶帮助我们处置文本数据,试着根据上述操做多加操练吧!

选举阅读

北京大学出书社

《Excel 2019函数与公式利用大全》

0
回帖

字符串查找要害字符 期待您的回复!

取消