如何在另一列'-'后前4位子串变化时,仅在首匹配行写入1?
需求说明
- 检查单元格文本中“-”后的前4个字符:
- 连续行中该子串相同时,仅在首个匹配行填入
1,后续行留空(例:ALEGRALL-1BLU4060与ALEGRALL-1BLU5080仅首行写1) - 连续行中该子串不同时,两行都填入
1(例:ACADIACA-1BLK537A与ACADIACA-1GRY537A两行都写1)
- 连续行中该子串相同时,仅在首个匹配行填入
已尝试的公式
- 公式1(所有单元格都输出内容,不符合需求):
=IF(O2<>O3,1,"") - 公式2(在匹配组最后一行输出
1,不符合首行输出要求):=IF(LEFT(A3,4) = LEFT(A4,4),"",1)
解决方案
假设目标数据在A列,在B2单元格输入以下公式,下拉填充即可:
=IFERROR(IF(MID(A2,FIND("-",A2)+1,4)<>MID(A1,FIND("-",A1)+1,4),1,""),1)
公式说明
FIND("-",A2)+1:定位到A2中“-”的下一个字符位置,作为提取子串的起始点MID(A2, ... ,4):提取“-”后的前4个字符- 对比当前行与上一行的目标子串,不同则输出
1,相同则留空;第一行因无上一行参照,用IFERROR直接返回1
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

