如何用Lookup公式结合REGEXMATCH实现URL宽匹配分类
URL页面分类解决方案
需求说明
- 每周从站点地图获取URL列表,需对每个URL进行分类
- 分类规则:
- 宽匹配:包含
/blog/的URL归为「博客分类」 - 精确匹配:部分URL虽符合宽匹配规则,但需按预设的REGEXMATCH格式规则匹配对应分类(已建立URL正则-分类对照表)
- 宽匹配:包含
公式实现方案
假设待分类URL在A列,对照表的正则规则在D列、对应分类在E列,在B2单元格输入以下公式并下拉填充:
=IFERROR(XLOOKUP(TRUE,REGEXMATCH(A2,$D$2:$D$10),$E$2:$E$10,"博客分类"),"博客分类")
公式逻辑
REGEXMATCH(A2,$D$2:$D$10):检查当前URL是否匹配对照表中的任意正则规则XLOOKUP:返回第一个匹配到的分类;若未匹配到任何精确规则,默认返回「博客分类」(触发宽匹配规则)
更优分类方案
- 优先级明确:始终让精确匹配优先于宽匹配执行,避免宽匹配覆盖特殊分类
- 规则易维护:将正则规则和分类映射放在独立工作表,公式中引用整列(如
$D:$D、$E:$E),新增规则时无需调整公式范围 - 批量高效计算:使用
ARRAYFORMULA实现一次性批量处理所有URL,公式如下:
=ARRAYFORMULA(IF(A2:A="","",IFERROR(XLOOKUP(TRUE,REGEXMATCH(A2:A,$D$2:$D),$E$2:$E,"博客分类"),"博客分类")))
- 扩展性强:后续新增分类类型时,只需在对照表中添加对应的正则规则和分类名称,公式自动适配新规则
内容的提问来源于stack exchange,提问作者Damien
相关产品推荐
相关产品推荐

