索引和匹配范围广泛的值

我有几列中的一堆数据,但基本上:

第一组(A,B列):

CHR POS 1 126234 3 5555555 3 9999999 9 3700000 

第2组(E,F,G列):

 CHR POS INDEX 1 1129410 1 2 4500000 2 3 5555155 3 3 9997999 4 7 3700000 5 

我希望在第一组中添加一列,这样,如果两个串的CHR列是相同的,并且#2的POS列在#1的POS的+/- 500内,则复制束# 2。

像这样(列A,B,C):

 CHR POS NEW_COLUMN 1 126234 #N/A 3 5555555 3 3 9999999 #N/A 9 3700000 #N/A 

我得到尽可能精确匹配的C列中的两列

 {=INDEX(E:G,match(1,(E:E=A1)*(F:F=B1),0),3)}` 

一些帮助获得范围条件进入比赛将非常感激。

较新的AGGREGATE¹function可快速处理多个条件。 在C2中,

 =IFERROR(INDEX(G$1:G$9, AGGREGATE(15, 6, ROW($1:$9)/((E$1:E$9=A2)*(F$1:F$9<=B2+500)*(F$1:F$9>=B2-500)), 1)), "no match") 

根据需要填写。

aggregate_multi_plus_minus


¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。