在列中然后在行中查找匹配的值

在题目中这很难解释。 我有一个多页的Excel文件,我需要做一个查找Sheet1具有我正在寻找的值, sheet2有我想要find它们的位置。

在工作表1上,我在E栏中有一个Service Code ,在J栏中有一个Unit Cost

然后在sheet2 ,列A中的Service Code列表以及它们在列D:N的对应价格。

我需要findService Code ,然后返回匹配的Unit Cost如果有的话)。 如果没有匹配的Unit Cost我需要知道Unit Cost是否在查找Unit Cost 0.01以内。

Sheet1示例

 Contract Numner Revision Service Code Unit Cost 441-01568221-BKT 0 RD190A 2.04 441-01568221-BKT 0 PLA10A 156.44 441-01568221-BKT 0 PL156A 312.89 441-01568221-BKT 0 RD190C 2.16 

Sheet2示例

 Service Code CT01 CT02 CT03 CT04 CT05 CT06 CT07 CT08 CT09 CT10 CT11 RD185C $2.10 $2.10 $2.40 $2.30 $2.00 $2.00 $2.00 $2.00 $2.00 $2.00 $2.00 RD190A $2.05 $2.05 $2.34 $2.24 $1.95 $1.95 $1.95 $1.95 $1.95 $1.95 $1.95 RD190B $1.94 $1.94 $2.22 $2.13 $1.85 $1.85 $1.85 $1.85 $1.85 $1.85 $1.85 RD190C $1.89 $1.89 $2.16 $2.07 $1.80 $1.80 $1.80 $1.80 $1.80 $1.80 $1.80 

所以在这个例子中,我把我的公式放在O列,并希望它显示Service Code RD190A,没有确切的匹配,但CT01closures.01。 并显示Service Code RD190C在CT03中完全匹配。

我试过的是这样的:

 =INDEX(Sheet2!D2:N2497,MATCH(E5909,Sheet2!A2:A2497,0),MATCH(J5909,"sheet2!$d$"&MATCH(E5909,Sheet2!A2:A2497,0)&":$N$"&MATCH(E5909,Sheet2!A2:A2497,0)),0) 

它返回一个错误,说:

公式中使用的值是错误的数据types

在表1上有12000多个Service CodesUnit Cost对,在表2上有2500个唯一的Service Codes

编辑

我曾尝试将此添加到公式中

 =INDIRECT("'Sheet2'!$D$"&MATCH(E5909,Sheet2!A2:A2497,0)&":$N$"&MATCH(E5909,Sheet2!A2:A2497,0),"") 

但它不起作用。 我可以得到这个工作:

 =INDIRECT("'Sheet2'!$d$"&MATCH(E5909,Sheet2!A2:A2497,0)&"",TRUE) 

但是,这并没有得到我所需要的。

为了获得ABS的最小差异,

 =AGGREGATE(15, 6, ABS(J2-INDEX(Sheet11!D:N, MATCH(E2, Sheet11!A:A, 0), 0)), 1) 

要获得RD190A的CT-01和RD190C的CT-03,

 =INDEX(Sheet11!$1:$1, AGGREGATE(15, 6, COLUMN(D:N)/(ABS(J2-INDEX(Sheet11!D:N, MATCH(E2, Sheet11!A:A, 0), 0))=AGGREGATE(15, 6, ABS(J2-INDEX(Sheet11!D:N, MATCH(E2, Sheet11!A:A, 0), 0)), 1)), 1)) 

首先得到最小的ABS(即绝对值)定价差异。 接下来在类似的包装函数中使用该图来检索CT-xx编号。

在这里输入图像说明