我有下面的数据表,我希望在'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
答案 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,然后获取您正在寻找的信息!
玩弄它,一旦你想通过它就有意义:)祝你好运!