电子表格公式,return 范围与值匹配的行
Spreadsheet Formula, return the row whose range matches a value
我有下面的数据 table,我希望给定值 'x' 查看 'A' 并在 'B' 中获得较低的值。
例如 10.000 应该 return 0,38.000 应该 return 7,8 和 900.000 应该 return 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
以下内容可满足您的需求:
=INDEX(B:B,MATCH(38,A:A,1),1)
其中 38
是我们要查找的值。 Match 会在 A:A
和 return 中查找值小于 38
的行(因为 match()
公式的第三个参数是 1
)。
索引将 return B:B
中 Match()
刚刚输出的行。
我不知道 gdocs,但在 excel 中尝试以下操作。
=vlookup(value ; $A:$B ; 2 ; 1)
其中 value
是您要搜索的值。
唯一的先决条件是列 A
必须按升序排序,就像您在示例中所做的那样。
如果您搜索 900,000,您希望 return 600,000.01 中的值,因为这是它高于的最后一个值。
您可以使用数组公式来完成此操作,但我更喜欢让 Index 为我完成这项工作。因此,我提出 INDEX/MATCH/INDEX:
首先,按照从大到小的顺序对数据进行排序。
=INDEX($B:$B,MATCH(TRUE,INDEX(900000>$A:$A,0),0))
您可以将 900,000 更改为您要查找的任何数字,或引用其中包含该值的单元格。
嵌套在其中的第二个 INDEX 正在检查 Col A 中的每个单元格以确定您的目标值是否大于它们。它创建了一个 TRUE 和 FALSE 数组。
接下来,您使用 MATCH 在您创建的数组中找到第一个 TRUE。这是您的目标大于的第一个单元格的位置(这就是我们从大到小排序的原因)。
一旦我们知道它在列表中有多远,我们就会使用第一个 INDEX 来查看 Col B 的最下方并获取您要查找的信息!
尝试一下,一旦你想通了它就有意义了:)祝你好运!
您可以使用 LOOKUP
函数,假设 C2 中的查找值在 D2 中使用此公式
=LOOKUP(C2,A:B)
我有下面的数据 table,我希望给定值 'x' 查看 'A' 并在 'B' 中获得较低的值。
例如 10.000 应该 return 0,38.000 应该 return 7,8 和 900.000 应该 return 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
以下内容可满足您的需求:
=INDEX(B:B,MATCH(38,A:A,1),1)
其中 38
是我们要查找的值。 Match 会在 A:A
和 return 中查找值小于 38
的行(因为 match()
公式的第三个参数是 1
)。
索引将 return B:B
中 Match()
刚刚输出的行。
我不知道 gdocs,但在 excel 中尝试以下操作。
=vlookup(value ; $A:$B ; 2 ; 1)
其中 value
是您要搜索的值。
唯一的先决条件是列 A
必须按升序排序,就像您在示例中所做的那样。
如果您搜索 900,000,您希望 return 600,000.01 中的值,因为这是它高于的最后一个值。
您可以使用数组公式来完成此操作,但我更喜欢让 Index 为我完成这项工作。因此,我提出 INDEX/MATCH/INDEX:
首先,按照从大到小的顺序对数据进行排序。
=INDEX($B:$B,MATCH(TRUE,INDEX(900000>$A:$A,0),0))
您可以将 900,000 更改为您要查找的任何数字,或引用其中包含该值的单元格。
嵌套在其中的第二个 INDEX 正在检查 Col A 中的每个单元格以确定您的目标值是否大于它们。它创建了一个 TRUE 和 FALSE 数组。
接下来,您使用 MATCH 在您创建的数组中找到第一个 TRUE。这是您的目标大于的第一个单元格的位置(这就是我们从大到小排序的原因)。
一旦我们知道它在列表中有多远,我们就会使用第一个 INDEX 来查看 Col B 的最下方并获取您要查找的信息!
尝试一下,一旦你想通了它就有意义了:)祝你好运!
您可以使用 LOOKUP
函数,假设 C2 中的查找值在 D2 中使用此公式
=LOOKUP(C2,A:B)