查找功能不适用于未排序的列表
Posted
技术标签:
【中文标题】查找功能不适用于未排序的列表【英文标题】:lookup function doesn't work with unsorted list 【发布时间】:2014-11-23 02:14:48 【问题描述】:为什么会这样,并正确查找值
但是一旦我改变了值的顺序,它会产生不正确的值?
【问题讨论】:
【参考方案1】:如果您阅读 LOOKUP 函数的注释,它会说:
只有对 search_range 或 search_result_array 中的数据进行排序后,LOOKUP 函数才能正常工作。如果数据未排序,请使用 VLOOKUP、HLOOKUP 或其他相关函数。
如下更改您的公式以使用 VLOOKUP:
=VLOOKUP(D3, A1:B6, 2, FALSE)
语法:
VLOOKUP(search_key, range, index, [is_sorted])
search_key - 要搜索的值。例如,42、“猫”或 I24。
range - 要考虑的搜索范围。搜索范围中的第一列以查找在 search_key 中指定的键。
index - 要返回的值的列索引,其中范围内的第一列编号为 1。
is_sorted - [可选 - 默认为 TRUE] - 指示要搜索的列(指定范围的第一列)是否已排序。
【讨论】:
基于IFERROR
的文档,如果您将查找表保留在工作表的第二页中,您可以为失败的查找设置一个默认值,例如:=IF(NOT(ISNA(VLOOKUP(B2,'<sheet_name>'!A:B,2, FALSE))), VLOOKUP(B2,'<sheet_name>'!A:B,2, FALSE), "<default>")
,其中 A 列是键,B 是值,在工作表“VLOOKUP
要求查找值位于指定 范围 的第一列中。唯一不能替代 LOOKUP
的情况是,所需结果的列位于查找值列的左侧。
找到了在结果范围在搜索范围之前进行未排序查找的解决方案。 INDEX(result_range,MATCH(search_key,search_range,0)) 来源:yagisanatode.com/2017/11/27/…
@flyingsolow 谢谢!您应该将其添加为答案,以便更容易看到,因为这修复了 LOOKUP 的一个非常明显的不足。以上是关于查找功能不适用于未排序的列表的主要内容,如果未能解决你的问题,请参考以下文章