为什么在这种情况下 HLOOKUP 会返回错误的值?

为什么在这种情况下 HLOOKUP 会返回错误的值?

我目前正在尝试学习 Excel 中的一些基本功能,并创建了以下基本电子表格以供使用:

电子表格

然后我尝试使用 HLOOKUP 函数,使用以下参数:

HLOOKUP("Germany", B1:F4, 4)

由于某种原因,这将返回值 8 - 这是不正确的。但是,将查找值设置为任何其他国家/地区返回正确的值。

为什么是这样?

答案1

您的查找数据(数据范围的第一行)是不是已排序。

您搜索精确的价值。

那么你必须使用 HLOOKUP 函数的第四个参数及其FALSE值:

=HLOOKUP("Germany", B1:F4, 4, FALSE)

或者按第一行的值升序对数据列进行排序。

为什么如果我将第二个参数更改为 A1:F4,它就适用于所有国家/地区?

我认为,因为没有第 4 个参数的 HLOOKUP 假设数据已排序,所以它使用半除法来搜索结果。

现在看:搜索范围是 B1:F1,5 个单元格。中间是 D1。它低于要搜索的值,因此函数将搜索范围缩小到 D1:F1。它的中间是 E1,并且它高于要搜索的值,函数将搜索范围缩小到 D1:E1。现在搜索范围是 2 个单元格,搜索结果假定为 D1。所以我们得到了错误的结果。

当我们改变数据范围时,搜索范围是 A1:F1,6 个单元格。中间是 C1。它等于要搜索的值。搜索停止。所以我们得到了正确的结果。

这不正确,只是类似。例如,创建测试表,其中 A1:H1 为 a、b、b、b、b、b、b、c,A2:H2 为 1、2、3、4、5、6、7、8。使用 HLOOKUP('b',A1:H2,2)。结果将为 7。

相关内容