进阶Excel Lookup函数需求:优先取Amount1列值,无则取Amount2列
Excel 优先从Amount1列查找指定金额、无值则取Amount2列的实现方法
核心需求
优先在Amount1列查找指定金额值,若该列无对应匹配项,则从Amount2列获取目标金额,最终将结果汇总到Output列。
实现公式(精确匹配)
基础版(返回匹配值或#N/A)
=IFERROR(LOOKUP(2,1/(B:B=$F$1),B:B),LOOKUP(2,1/(C:C=$F$1),C:C))
优化版(无匹配时返回自定义提示)
=IFERROR(IFERROR(LOOKUP(2,1/(B:B=$F$1),B:B),LOOKUP(2,1/(C:C=$F$1),C:C)),"无匹配值")
公式解释
LOOKUP(2,1/(B:B=$F$1),B:B):这是LOOKUP的精确匹配写法,通过生成由1和#DIV/0!组成的数组,让LOOKUP定位到最后一个与目标值$F$1匹配的Amount1列单元格,返回对应金额。IFERROR(..., LOOKUP(...)):如果Amount1列找不到匹配值,自动切换到Amount2列执行相同查找逻辑。- 外层
IFERROR(..., "无匹配值"):当两列都没有目标金额时,返回自定义提示文本,避免显示#N/A错误。
使用步骤
- 把要查找的目标金额输入到固定单元格(示例中为
$F$1,加绝对引用符号$防止下拉公式时引用偏移)。 - 在
Output列第一个单元格输入上述公式,按回车确认(旧版Excel需按Ctrl+Shift+Enter触发数组计算)。 - 下拉公式即可批量完成所有行的匹配与结果汇总。
内容的提问来源于stack exchange,提问作者Sindhu
相关产品推荐
相关产品推荐

