Excel如何根据同字符串唯一行的Value值填充非唯一行的Results列
无序列适配的Results列自动填充公式方案
下面的公式不要求表格按字符串排序,也不需要依赖Sequence、Unique列的数值,只要是同一个字符串,就能自动匹配到它第一次出现的行,提取对应Value填充到Results列,完全适配你无序列的需求。
如果你用的是Excel 365 / 2021及以上版本
直接用XLOOKUP就行,默认返回第一个匹配结果,刚好对应字符串首次出现的行:
=XLOOKUP(A2,$A$2:$A$100,$D$2:$D$100,"",0)
你只需要把公式里的$A$2:$A$100改成你自己表格里String列的所有数据行范围,$D$2:$D$100改成Value列的所有数据行范围就行,加$是为了下拉填充的时候范围不会乱跑。
如果你用的是2019及更早的旧版Excel
用INDEX+MATCH组合就能实现一样的效果:
=IFERROR(INDEX($D$2:$D$100,MATCH(A2,$A$2:$A$100,0)),"")
MATCH会精准找到当前字符串第一次出现的行位置,再用INDEX提取对应行的Value值,外层加IFERROR是为了避免没匹配到的时候返回#N/A错误,找不到就返回空值。
操作步骤
- 先按你自己的表格行数调整好公式里的列范围
- 把公式粘贴到Results列的第一个数据单元格(就是你示例里的E2单元格)
- 按回车后下拉填充到所有需要填的行就行,出来的结果和你给的示例完全一致
内容的提问来源于stack exchange,提问作者Kalenji
相关产品推荐
相关产品推荐

