Excel 查找3列中的值,并从第4列返回相应的单元格值

Excel 查找3列中的值,并从第4列返回相应的单元格值,excel,vba,Excel,Vba,我基本上是在编写一份excel表格,通过接受车辆识别号中的3个字符(第4、8和10个字符)并从表格中返回相应的零件号,为汽车服务站的服务顾问提供备件号。 这张桌子看起来像这样 用户将以以下格式提供输入 4th Char 8th Char 10th Char Input C B E 输出应该是, Oil-Filter Air-Filter Ac-Filter Output 263

我基本上是在编写一份excel表格,通过接受车辆识别号中的3个字符(第4、8和10个字符)并从表格中返回相应的零件号,为汽车服务站的服务顾问提供备件号。 这张桌子看起来像这样

用户将以以下格式提供输入

            4th Char    8th Char    10th Char
Input          C            B           E
输出应该是,

        Oil-Filter  Air-Filter  Ac-Filter
Output  2630035504  281131R100  97133AQ000
我可以通过为每个输出单元编写以下公式来获取第8个字符和第10个字符,将E17单元作为第8个字符的输入,将F17单元作为第10个字符的输入

但我一直在为用户和用户输入的所有3个字符应用查找 显示相应的值。有什么建议吗?? 我尝试了以下代码,但无法生成预期的输出


您需要连接您的输入,并让它们在连接的表中查找。我在下图所示的B9单元格中输入了这个公式。您需要调整范围,然后使用ctrl+shift+enter组合键输入:

在单元格K2中输入

根据需要向下或向右拖动/复制上述公式。这是一个数组公式,请按Ctrl+Shift+Enter键提交它。请参阅图片以获取参考


当三列中的条件出现多次时会发生什么情况?@ForwardEd,在给定场景中不会发生这种情况。所有3个字符加在一起是一个独特的结果。非常感谢您在逻辑上的调整。你让我高兴极了。再次感谢你
        Oil-Filter  Air-Filter  Ac-Filter
Output  2630035504  281131R100  97133AQ000
{=INDEX(D2:D10,MATCH($E$17,IF($C$2:$C$10=$F$17,$B$2:$B$10),0))}
{=INDEX(D2:D10,MATCH($E$17,IF(AND($C$2:$C$10=$F$17,$A$2:$A$10=$D$17),$B$2:$B$10),0))}
=INDEX(D$2:D$4,MATCH($B$8&$C$8&$D$8,$A$2:$A$4&$B$2:$B$4&$C$2:$C$4,0))
=INDEX(D$2:D$7,MATCH(1,($A$2:$A$7=$H2)*($B$2:$B$7=$I2)*($C$2:$C$7=$J2),0))