EXCEL中查找满足条件的行并返回该行某个值

标签:
excel |
分类: EXCEL |
这几天一直在处理一些数据,其中就有需要“查找满足条件的行并返回该行某个值”。但是对EXCEL的函数不熟悉,刚开始想到的是if函数(参考EXCEL帮助文档:如果指定条件的计算结果为
TRUE,IF 函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。例如,如果 A1 大于 10,公式
=IF(A1>10,"大于 10","不大于 10") 将返回“大于 10”,如果 A1
小于等于 10,则返回“不大于
10”。),但if函数的返回值好像不能返回某个单元格的引用(如果有大神可以用if写出来希望不吝赐教),然后choose函数一看应该就不满足我的要求,于是选择了lookup函数。
参考EXCEL帮助文档:
语法
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP 函数向量形式语法具有以下参数:
- lookup_value 必需。LOOKUP 在第一个向量中搜索的值。Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。
- lookup_vector
必需。只包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。
要点 lookup_vector 中的值必须以升序排列:...,-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。否则,LOOKUP 可能无法返回正确的值。大写文本和小写文本是等同的。
- result_vector 可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 大小相同。
说明
- 如果 LOOKUP 函数找不到 lookup_value,则它与 lookup_vector 中小于或等于 lookup_value 的最大值匹配。
- 如果 lookup_value 小于
lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A
错误值。
其中注意到第一个说明,最好待查找值一定在要查找的向量(例如:某一列)中,否则待查找值会与最接近它的最小值进行匹配,文档中给出了例子:
|
|
C |
---|---|---|
1 |
颜色 | |
2 4.14 | 红色 | |
3 4.19 | 橙色 | |
4 5.17 | 黄色 | |
5 5.77 | 绿色 | |
6 6.39 | 蓝色 | |
公式 | 说明 | 结果 |
=LOOKUP(4.19, A2:A6, B2:B6) | 在 A 列中查找 4.19,然后返回 B 列中同一行内的值。 | 橙色 |
=LOOKUP(5.00, A2:A6, B2:B6) | 在 A 列中查找 5.00,与接近它的最小值 (4.19) 匹配,然后返回 B 列中同一行内的值。 | 橙色 |
=LOOKUP(7.66, A2:A6, B2:B6) | 在 A 列中查找 7.66,与接近它的最小值 (6.39) 匹配,然后返回 B 列中同一行内的值。 | 蓝色 |
=LOOKUP(0, A2:A6, B2:B6) | 在 A 列中查找 0,并返回错误,因为 0 小于
lookup_vector A2:A7 中的最小值。 |
#N/A |