返回一个文本字符串在另一个文本字符串中的起始位置。不区分大小写,支持通配符。
语法
SEARCH ( <待查找内容>, <查找范围>, [<起始位置>], [<备选结果>] )
参数 | 属性 | 描述 |
待查找内容 | 要找的文本。使用双引号(空文本)匹配查找中的第一个字符;支持?和*通配符 | |
查找范围 | 包含要查找的文本的文本 | |
起始位置 | 可选 | 开始搜索的位置;如果省略,则起始位置=1,也就是查找范围中的第一个字符 |
备选结果 | 可选 | 未找到文本时返回的数值,可设为 0、-1 或 BLANK();如果省略,则返回一个错误 |
返回值
标量
一个整数值
待查文本在查找范围所处的起点位置所代表的数字。
备注
- SEARCH 不区分大小写。 搜索“N”,将查找第一次出现“N”或“n”的位置。
- SEARCH 区分重音。 搜索“á”会查找第一次出现“á”的位置,但不会查找第一次出现“a”、“à”或大写“A”和“Á”的位置。
- 当使用列作为参数的时候,为了避免可能出现未找到的情况而导致错误,请始终设置备选结果。
- SEARCH 支持通配符?匹配任何单个字符;*匹配任何字符序列。 如果要查找的是问号或星号本身,可以在字符前键入一个波形符 (~)
示例
以下公式查找字符“-”在列中的位置,并在找不到该字符串的情况下返回 -1
SEARCH("-",[PostalCode],,-1)
扩展阅读:
如果我想写用Filter写出:
‘product'[BrandName] 中 包含字母”o”的结果, 比如品牌名”Contoso”,”Proseware”等.
要怎么写呢? 是用search 函数还是要用 Containrow 函数呢? 要怎么实现呢?
另外 search 函数主要用在什么场景中呢, 请老师解答, 谢谢