函数 > 矢量和矩阵 > 其他数组函数 > 查找函数
  
查找函数
lookup(z, A, B, [modifier | f]) - 根据可选修饰符的条件在矢量或矩阵 A 中求给定值 z,并在矩阵 B 中的相同位置 (即行号和列号相同) 返回值。返回多个值时,则按从 B 的左上角到右下角的列顺序显示于矢量中。
hlookup(z, A, r, [modifier | f]) 根据可选修饰符的条件在矩阵 A 的第一行中求给定值 z,并在 r 指定的行中相同列中返回值。返回多个值时,则从左侧开始显示于矢量中。
vlookup(z, A, c, [modifier | f]) - 根据可选修饰符的条件在矩阵 A 的第一列中求给定值 z,并在 c 指定的列中相同行中返回值。返回多个值时,则从顶部开始显示于矢量中。
vhlookup(z1, z2, A, [modifier | f]) - 根据可选修饰符的条件在矩阵 A 的第一列求给定值 z1,并在 A 的第一行查找给定值 z2,并在相交处返回值。
match(z, A, [modifier | f]) - 根据可选修饰符的条件在矢量或矩阵 A 中求给定值 z,并返回每个匹配值的索引。返回多个值时,则按从 A 的左上角到右下角的列顺序显示于嵌套数组中。
自变量
A, B 为实数、复数或字符串、m x n 矩阵或矢量。
除非更改 ORIGIN,否则从 0 开始为数组元素的行和列索引编号。
r, c 为整数:
ORIGINrORIGIN + (m − 1)
ORIGINcORIGIN + (n − 1)
z 为实数、复数或字符串。
如果将 “range” 指定为比较条件,则 z 为两元素列矢量。
z1, z2:两者中的任一个都可为字符串,但不能同时为字符串。如果有任一个为字符串,则会在 A 的相应行/列中进行精确匹配。
modifier (可选) 是具有 “eq” 的默认值的字符串,但是也可具有以下其他字符串值之一:
比较规则
含义
“eq”
(默认) 匹配等于标量或字符串 z 的所有值。
“near”
匹配近似于给定 TOL 标量 z 的所有值。
“gt”
匹配大于标量 z 的所有值。
“lt”
匹配小于标量 z 的所有值。
“geq”
匹配大于或等于标量 z 的所有值。
“leq”
匹配小于或等于标量 z 的所有值。
“not”
匹配不等于标量或字符串 z 的所有值。
“range”
匹配位于二元素矢量 z 中所指定范围内的所有值。
f
匹配满足条件的一切内容,这些条件由该用户定义的比较函数设定。
f (可选) 是具有两个自变量的用户定义的函数。如果为 false 则返回 0,如果为 true 则返回其他数字。
要匹配 z10% 内的所有值,请创建函数 f(a,b):=|b-a| < 10% z.
附加信息
如果矩阵 A 包含混合单位,则只会在单位为相同类型时找到匹配。因此,第一次检查匹配单位类型,第二次检查匹配模。
比较时所应达到的精确度由工作表的 TOL 设置确定。减小该值可使匹配条件更为严格;增大该值则会放宽匹配条件。