You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel公式优化:如何按输入产品代码顺序显示对应产品名称

解决Excel按输入代码顺序匹配显示产品名称的问题

我来帮你搞定这个问题!你的核心需求是让D列的结果严格按照C列输入代码的顺序显示对应的产品名称,而不是固定的先后排列。你当前用的IF嵌套写法只能覆盖两种固定组合,既不灵活也解决不了顺序问题,我们可以用更高效的公式实现需求。


方案1:适用于Excel 365/2021(支持动态数组)

这个方案最简洁,还能支持任意数量的产品代码输入(只要用/分隔):

=TEXTJOIN(" AND ", TRUE, XLOOKUP(TEXTSPLIT(C1, " / "), $B$1:$B$10, $A$1:$A$10, "", 0))

公式拆解:

  • TEXTSPLIT(C1, " / "):把C1中的输入内容按/拆分,得到一个和输入顺序完全一致的代码数组。比如输入pir / appl,会生成{"pir", "appl"}
  • XLOOKUP(...):用拆分后的每个代码,在B列的产品代码区域精准匹配对应的A列产品名称,完全保留原输入顺序
  • TEXTJOIN(" AND ", TRUE, ...):把匹配到的所有产品名称用AND连接起来,TRUE参数会自动忽略空值(如果输入的代码没有匹配项)

方案2:适用于旧版Excel(不支持动态数组)

如果你的Excel版本不支持动态数组函数,可以用这个针对双代码场景的公式:

=TRIM(IFERROR(XLOOKUP(LEFT(C1,SEARCH(" / ",C1)-1),$B$1:$B$10,$A$1:$A$10,""),"") & IF(ISNUMBER(SEARCH(" / ",C1))," AND " & XLOOKUP(MID(C1,SEARCH(" / ",C1)+3,99),$B$1:$B$10,$A$1:$A$10,""),""))

公式拆解:

  1. LEFT(C1,SEARCH(" / ",C1)-1):提取第一个/分隔符前的代码,用XLOOKUP匹配对应的产品名
  2. ISNUMBER(SEARCH(" / ",C1)):判断是否有第二个代码,如果有,用MID提取分隔符后的内容,再匹配产品名
  3. 最后用&拼接两个产品名,并用TRIM去掉多余空格

验证效果

  • 当C1输入appl / pir时,D列会显示apple AND pear
  • 当C1输入pir / appl时,D列会显示pear AND apple
    完全符合你要的按输入顺序显示的需求!

内容的提问来源于stack exchange,提问作者dycodingcoda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:20:37