Excel跨两个ETF工作表使用INDEX MATCH匹配公司名称出错求助
INDEX MATCH公式问题修正
你给出的公式存在3个明确错误,对应修正方案如下:
- 拼写错误:两张持仓表的名称为XBI、IBB,你在MATCH函数的查找范围中误写为不存在的
XBB[Name],Excel无法识别该表会直接返回#NAME?报错。 - 语法不完整:当前公式缺少2个右括号完成INDEX、MATCH函数的闭合,不符合Excel公式语法规则,修正基础语法后的写法为
=INDEX(XBI[Name],MATCH([@[Name]],IBB[Name],0))。 - 逻辑适配问题:你当前的公式仅能返回XBI表中匹配到的公司名称,无法直接实现共同持仓筛选,建议调整逻辑为:先判断当前公司名称是否同时存在于两张表,再拉取对应字段。
可用参考公式
如果你的第三张表已经预先录入了所有XBI持仓的公司名称,要筛选出同时在IBB持仓的公司,可使用以下公式做存在性判断:
=IF(ISNUMBER(MATCH([@Name],IBB[Name],0)),"共同持仓","仅XBI持仓")
如果需要同步拉取IBB表对应公司的股票代码(假设IBB表代码列名为Ticker),可使用优化后的INDEX MATCH公式,避免无匹配时返回错误值:
=IFERROR(INDEX(IBB[Ticker],MATCH([@Name],IBB[Name],0)),"")
内容的提问来源于stack exchange,提问作者user17294085
相关产品推荐
相关产品推荐

