第九节 Search和Match函数
Search
Search,寻找函数,返回指定的串在原始字符串中首次出现的位置,从左到右查询,忽略英文字母的大小写。语法格式为:search(指定字符申,原始字符串,从哪里开始找)。
其中,第三个参数"从哪里开始找"是可选项,默认省略,表示从左边第一个字符开始寻找。
例如,要解决原始数据中表达债券的剩余年限,有两个数据,前一个年限是给客户的问售选择权,后一个年限才是真正的到期年限。要把这两个数据变成独立的两个单元值数据,就需要用search函数。首先,如图13-15所示,计算出"/"符号在单元格数据中的位置,然后通过这个位置再用Ieft函数取左子串,加0是为了方便地把字符型变成数字型,在只有一个到期年限时寻找出错,那就直接返回本身数字型。同样,用类似的方法用right函数和search函数的组合可以找到长年限。

Match
Match函数也是寻找函数,和search不同的是,search是在一个单元格内寻找某个符合条件的字符串,而match是在一组单元格中寻找某个符合条件的字符或者数据。格式为:match(寻找值,单元格组,查询方式)。
如图13-16所示,寻找2016年1月7日在A列交易日这个单元格组中的位置,返回值4,即为在这个单元格组中的交易日中,是第4个交易日。
查询方式,用数字-1、0或者1表示,省略相当于查询方式为l的情况。
(1)为1时,查找小于或等于寻找值的最大数值在单元格组中的位置,单元将组必须按升序排列;
(2)为0时,查找等于寻找值的第一个数值,单元格组按任意顺序排列;
(3)为-1时,查找大于或等于寻找值的最小数值在单元格组中的位置,单元格组必须按降序排列。
利用match函数查找功能时,当查找条件存在时,match函数结果为具体位置(数值),否则显示"#N/A"错误。
