20.9.1 FIND( )函数
FIND函数用于查找指定字符在某一字符串中的位置。
语法:FIND(find_text,within_text,[start_num])
参数说明:
find_text:要查找的文本。
within_text:要在其中查找的文本。
start_num:指定要开始查找的起始位置,若省略start_num,默认值为1。
如图20‑23所示,在B2单元格中输入公式,复制公式至B10。
=FIND("F",A2,1)
即可以在A2单元格查找“F”所处的位置,若源文本中存在多个要查找的文本,函数则会返回从[start_num]开始起向右的首个查找值,若源文本不包含要查找的文本,则返加#VALUE!。
【示例-1】图20‑24展示是某些地址,在B1单元格中输入以下公式,复制公式至B6,可提取市级名。
=LEFT(A1,FIND("市",A1))
20.9.2 SEARCH函数
SEARCH函数用于查找指定字符在某一字符串中的位置。
语法:SEARCH(find_text,within_text,[start_num])
参数说明:
find_text:要查找的文本
within_text:要在其中查找的文本
start_num:指定要开始查找的起始位置,若省略start_num,默认值为1。
如图19-25所示,在C2单元格中输入公式,复制公式至C10。即可以在A2单元格查找“F”所处的位置。
=SEARCH("F",A2,1)
【示例-1】图20‑26展示是某地产公司的楼层户型,现公司决定对于所有的B户型单价调增5000,其他户型售价不变。在D2单元格中输入以下公式,复制公式至D11,可选择性的调整单价。
=IF(ISERROR(SEARCH("B",A2)),C2,C2+5000)
该公式使用IF函数判断,IF函数的第一个参数使用ISERROR函数判断查询的户型是否为错误值,错误值即表示非B户型,此时返回原售价,若是B户型则ISERROR(SEARCH("B",A2))返回FALSE,此时返回IF函数的第三个参数“C+5000”
FIND函数和SEARCH函数用法类似,不同在于FIND函数区分大小写,SEARCH函数不区分大小写;FIND函数不支持通配符,SEARCH函数支持通配符。
用户若需要对单字节字符和双字节字符进行查找处理,可分别使用对应FINDB函数、SEARCHB函数。