2015-10-26 81 views
-1

道歉,如果这已经发布在某处,我一直在搜索,仍然有问题。查询一个值是否在一个范围内(范围在2个独立的列中)

在一张Excel表格中,列A中有一个数字列表,称之为“Sheet1”。在另一张表中(称为“Sheet2”),我有3列,它基本上是数字范围的列表。列A是开始范围,列B是结束范围,列C是一些非数字分类,并且是我想要带回的值。我也希望范围具有包容性。

示例:

Sheet 1 cell A1 = 78335; Sheet 1 cell A2 = 80000; (a)第2页单元格A1 = 78334,第2页单元格B1 = 78335;第2页单元格A1 = 78334,第2页单元格B1 = 78335;第3页单元格A3 = 90000

表2单元格C1 =“设计”

(b)第2页单元格A2 = 79999,第2页单元格B2 = 80001;第2页单元格C2 =“艺术”

(c)页2单元格A3 = 90001,页2单元格B3 = 99999; Sheet 2 cell C3 = Excel N/A error

在这种情况下,对于(a)的预期返回值将是“设计”,因为该数字在图2的包含范围内,对于返回值的预期值(b)将是“艺术”,并且情况(c)的预期返回值将是一个错误,因为这不属于所提供的任何范围。

我试过Vlookups,查找和索引匹配无济于事。 Lookup函数有点奏效,但没有上限,所以如果出现任何错误,它只会返回列表中的最后一项(即表单2列C)。

帮助非常感谢!

问候,

+0

如果我的答案对您有帮助,您可以将其标记为“up”。 TY。 –

回答

0

您可以使用Vlookup进行搜索,将范围查找设置为false,以便在较低范围列中获得最接近的匹配。告诉查找返回上面的范围列,如果它超过了你要查找的值,那么你得到了你需要的值,否则给出一个空值。因此,在表1,A2单元格,你会碰到这样的:

=if(vlookup(a1,Sheet2!a1..c3,2,false) >= a1, vlookup(a1,Sheet2!a1..c3,3,false), "") 

这意味着你在表2的列往上看,因为这是比A1的表内容较低最接近的数1.找到后,将返回列b中的值,然后再次将其与a1进行比较,以确保a1在范围内(表格2中的值b列b大于或等于该值)。如果是,则再次执行查找,但是这次从表2返回列c,这是您的返回值。如果第一次查找没有找到范围内的内容,则返回空白字符串。

+0

太棒了,谢谢。我做了一个调整 - 而不是FALSE范围查找功能,我用TRUE(这给出了近似值)。 – SamRow323

+0

那么如何接受答案并提升呢? – AgapwIesu

相关问题