Excel中保留同前缀的基础字符串单元格,函数尝试失败求助
解决Excel保留基础前缀单元格的方法
假设你的数据在A列(从A2开始),可以用以下两种方法实现需求:
方法一:辅助列标记法(全Excel版本通用)
在B2单元格输入以下公式,然后下拉填充到所有数据行:
=IF(SUMPRODUCT(--(LEFT(A2, LEN(A:A))=A:A), --(LEN(A:A)<LEN(A2)))>0, "删除", "保留")
公式逻辑:
- 遍历A列所有单元格,同时检查两个条件:
- 目标单元格的长度比当前单元格短
- 当前单元格的前N个字符(N等于目标单元格的长度)与目标单元格内容完全匹配
- 只要存在符合条件的目标单元格,就说明当前单元格是基础前缀的扩展项,标记为"删除";否则标记为"保留"
完成后筛选B列的「保留」项,即可得到所有需要的基础前缀单元格。
方法二:动态数组直接提取(Excel 365/2021适用)
如果你的Excel支持动态数组功能,直接在空白单元格输入以下公式,会自动输出所有保留的基础前缀内容:
=FILTER(A2:A10, BYROW(A2:A10, LAMBDA(x, SUMPRODUCT(--(LEFT(x, LEN(A2:A10))=A2:A10), --(LEN(A2:A10)<LEN(x)))=0)))
注意:把公式中的
A2:A10替换成你实际的数据范围。
内容的提问来源于stack exchange,提问作者Punya Munasinghe
相关产品推荐
相关产品推荐

