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

2023-12-06

这很难在问题标题中解释。我有一个多页 Excel 文件,需要在其中进行查找。Sheet1具有我正在寻找的价值观并且sheet2有我想找到他们的地方。

On sheet1我有一个Service Code在列中E and a Unit Cost在列中J.

Then on sheet2,我有一个清单Service Code列中的 sA以及列中相应的价格D:N.

我需要找到Service Code然后返回匹配的Unit Cost如果有的话。如果没有匹配的Unit Cost我需要知道是否有Unit Cost位于查找的 0.01 范围内Unit Cost.

Sheet1 Sample

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 Sample

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 CodeRD190A 没有完全匹配,但 CT01 偏离了 0.01。并表明对于Service CodeRD190C 与 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)

它返回一个错误,指出:

公式中使用的值的数据类型错误

On sheet1有超过12000个Service Codes:Unit Cost成对及以上sheet2仅有不到 2500 个独特的Service Codes.

EDIT

我尝试将其添加到公式中

=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 编号。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在列中查找匹配值,然后在行中查找匹配值 的相关文章

随机推荐