You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel左侧相同文本查找及商品变体标题重复词提取咨询

嘿,针对你提出的两个问题,我整理了实用的解决方案,都是日常处理这类需求常用的方法:

问题1:Excel中指定单元格区域内从左侧查找相同文本内容

这里分两种常见场景,对应不同的处理方式:

场景1:提取区域内所有单元格的最长公共前缀

如果想找出所有单元格开头重复的最长文本(比如多个商品标题的核心前缀),有两种简单方法:

  • 公式法:假设目标区域是A1:A5,用这个数组公式(Excel 365直接回车,旧版按Ctrl+Shift+Enter确认):
    =LEFT(A1,MIN(FIND(CHAR(1),SUBSTITUTE(A1,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),CHAR(1),COUNTIF(A1:A5,"*"&MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)&"*"))))-1)
    
    原理是逐个字符校验所有单元格是否都包含该位置的字符,找到第一个不统一的位置后,截取前面的重复部分。
  • Power Query法(更直观):
    1. 选中数据区域,点击「数据」选项卡→「从表格/区域」导入Power Query编辑器
    2. 添加自定义列,输入公式:List.LongestCommonPrefix(Table.Column(Source, "你的列名"))
    3. 点击「关闭并上载」,就能得到所有单元格的最长公共前缀

场景2:查找特定文本在区域内单元格左侧的出现情况

如果要找某个特定文本(比如"Apple")在哪些单元格开头包含它,用COUNTIF配合通配符就能快速统计:

=COUNTIF(A1:A10,"Apple*")

这个公式会返回A1:A10中以"Apple"开头的单元格数量;如果要定位第一个匹配的单元格位置,用MATCH:

=MATCH("Apple*",A1:A10,0)
问题2:从商品标题中提取重复文本识别商品变体

变体标题一般共享核心关键词或前缀,比如"2024纯棉T恤-白色"和"2024纯棉T恤-黑色",提取重复文本的方法分两种场景:

方法1:Excel处理(适合小数据量)

如果数据不多,用最长公共前缀公式就能直接提取核心重复部分。如果重复文本不一定在开头,可以用这个公式提取所有标题都包含的关键词:

=TEXTJOIN(" ",TRUE,FILTER(UNIQUE(TEXTSPLIT(TEXTJOIN(" ",TRUE,A1:A5)," ")),COUNTIF(TEXTSPLIT(TEXTJOIN(" ",TRUE,A1:A5)," "),UNIQUE(TEXTSPLIT(TEXTJOIN(" ",TRUE,A1:A5)," ")))=COUNTA(A1:A5)))

它会把所有标题拆成单词,筛选出在每个标题里都出现的单词,再拼接成核心文本。

方法2:代码处理(适合大量抓取数据)

如果是用Python处理批量抓取的卖家数据,推荐这两种方法:

  • 提取最长公共前缀:用difflib库快速找到连续的重复文本:
    from difflib import SequenceMatcher
    
    def longest_common_prefix(strings):
        if not strings:
            return ""
        # 先对比前两个字符串的公共前缀
        matcher = SequenceMatcher(None, strings[0], strings[1])
        match = matcher.find_longest_match(0, len(strings[0]), 0, len(strings[1]))
        common = strings[0][match.a:match.a+match.size]
        # 再和后续字符串逐一对比,缩短公共前缀
        for s in strings[2:]:
            matcher = SequenceMatcher(None, common, s)
            match = matcher.find_longest_match(0, len(common), 0, len(s))
            common = common[match.a:match.a+match.size]
            if not common:
                break
        return common
    
    # 示例变体标题
    variant_titles = [
        "2024款纯棉T恤 - 白色M码",
        "2024款纯棉T恤 - 黑色L码",
        "2024款纯棉T恤 - 灰色XL码"
    ]
    print(longest_common_prefix(variant_titles))  # 输出:2024款纯棉T恤 - 
    
  • 提取非连续的共同关键词:如果重复文本是分散的关键词,统计词频后筛选出所有标题都包含的词:
    from collections import Counter
    import re
    
    def extract_common_keywords(titles):
        all_words = []
        for title in titles:
            # 拆分标题为单词,转小写并去除特殊字符
            words = re.findall(r'\w+', title.lower())
            all_words.extend(words)
        word_counts = Counter(all_words)
        # 筛选出在所有标题中都出现的单词
        common_words = [word for word, count in word_counts.items() if count == len(titles)]
        return " ".join(common_words)
    
    print(extract_common_keywords(variant_titles))  # 输出:2024款 纯棉 t恤
    

内容的提问来源于stack exchange,提问作者Tunahan KORKMAZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:13:02