Excel公式:按Column A ID匹配从Column C提取Name填充D列缺失值
Excel 公式匹配填充方案
前提说明
假设你的表格首行为表头,数据从第2行开始,字段规则如下:
A列:存储ID,允许重复B列:操作类型,仅包含Text Searched和Viewed Page两类枚举值C列:名称字段,仅当B列值为Viewed Page时有有效值,Text Searched对应行C列为空- 需求:
D列填充规则为,若当前行B列为Text Searched,则填充同ID下、当前行之前最后一次Viewed Page对应的C列名称值
公式实现
版本1:适用于Excel 365/2021及以上版本(支持动态数组)
在D2单元格输入以下公式,直接下拉填充即可:=IF(B2<>"Text Searched","",XLOOKUP(1,(A$2:A2=A2)*(B$2:B2="Viewed Page"),C$2:C2,"无匹配浏览记录",0,-1))
逻辑解释
- 外层
IF判断当前行是否为搜索操作,非搜索操作直接留空 XLOOKUP最后一个参数设为-1,表示倒序查找,匹配到的第一个符合条件的结果就是同ID下最近一次的浏览记录- 无匹配结果时默认返回
无匹配浏览记录,可根据需求自行修改默认值
版本2:适用于Excel 2019及更早版本(需数组录入)
在D2单元格输入以下公式,按下Ctrl+Shift+Enter三键触发数组公式生效,之后下拉填充:=IF(B2<>"Text Searched","",IFERROR(LOOKUP(1,0/((A$2:A2=A2)*(B$2:B2="Viewed Page")),C$2:C2),"无匹配浏览记录"))
逻辑解释
0/(判断条件)会将符合条件的行转换为0,不符合条件的行转换为错误值LOOKUP(1, 含错误值的数组, 结果列)会自动匹配最后一个非错误值对应的结果,即为同ID下最近一次浏览记录的名称
内容的提问来源于stack exchange,提问作者user14807564
相关产品推荐
相关产品推荐

