电子表格公式,返回其范围与值匹配的行

时间:2015-04-08 17:57:00

标签: excel google-sheets excel-formula

我有下面的数据表,我希望在'A'中给出值'x'并在'B'中获得较低的值。

例如10.000应该返回0,38.000应该返回7,8和900.000应该返回20.在我的语言环境中'。'表示千位分隔符,','表示小数。

如果可能的话,我想要一个在excel和gdocs中运行的公式。感谢。

 A          B
 0          0
 37.500,01  7,8
 45.000,01  9,1
 58.345,62  11,4
 120.206,02 13,6
 208.075,91 15,7
 295.242,83 17,2
 382.409,77 18,2
 600.000,01 20

4 个答案:

答案 0 :(得分:1)

我不了解gdocs,但在excel中尝试以下内容。

=vlookup(value ; $A$1:$B$9 ; 2 ; 1)

其中value是您要搜索的值。

唯一的先决条件是列A必须按升序排序,就像您的示例中一样。

答案 1 :(得分:1)

您可以使用LOOKUP函数,假设C2中的查找值在D2中使用此公式

=LOOKUP(C2,A$1:B$9)

答案 2 :(得分:0)

以下内容适用于您的需求:

=INDEX(B:B,MATCH(38,A:A,1),1)

38是我们正在查找的值。匹配将在A:A中查找并返回值小于38的行(因为match()公式的第三个参数为1)。

索引将返回B:B刚刚输出的Match()行。

答案 3 :(得分:0)

如果您搜索900,000,您希望从600,000.01返回该值,因为它的最后一个值高于。

您可以使用数组公式执行此操作,但我更喜欢使Index对我有用。因此,我提出了INDEX / MATCH / INDEX:

首先,将您最大的数据排序为最小。

=INDEX($B$1:$B$9,MATCH(TRUE,INDEX(900000>$A$1:$A$9,0),0))

您可以将900,000更改为您正在寻找的数字,或引用包含该值的单元格。

第二个INDEX,即嵌套在那里的INDEX,正在检查Col A中的每个单元格,以确定您的目标值是否大于它们。它会创建一个TRUE&FALSE&#39>的数组。

接下来,使用MATCH在您创建的数组中查找第一个TRUE。这是你的目标大于的第一个单元格的位置(这就是我们从最大到最小排序的原因)。

一旦我们知道列表的位置有多远,我们就会使用第一个INDEX来查看Col B,然后获取您正在寻找的信息!

玩弄它,一旦你想通过它就有意义:)祝你好运!

相关问题