如何在Google Sheets中用ArrayFormula结合正则表达式自动分类数据
Google Sheets基于关键词正则表达式批量分类数据
需求:根据A列的关键词,将C列的数据分类后自动填充到D列,无需逐单元格粘贴公式。
原参考公式仅支持单单元格使用,无法批量生成结果,以下是两种可行的批量实现方案:
方案1:ARRAYFORMULA数组公式
在D2单元格输入以下公式,即可自动填充整列分类结果:
=ARRAYFORMULA(IF(C2:C="",,IFERROR(INDEX(B$2:B,MATCH(TRUE,REGEXMATCH(C2:C,A$2:A),0),))))
公式说明:
ARRAYFORMULA实现批量遍历C列所有数据IF(C2:C="",,)避免C列空行生成错误值REGEXMATCH(C2:C,A$2:A)逐个匹配C列内容与A列关键词MATCH找到第一个匹配的关键词位置,INDEX提取对应B列的分类
方案2:BYROW函数(新版Google Sheets适用)
在D2单元格输入以下公式,逻辑更直观:
=BYROW(C2:C,LAMBDA(x,IF(x="",,IFERROR(INDEX(B$2:B,MATCH(TRUE,REGEXMATCH(x,A$2:A),0),)))))
公式说明:
BYROW遍历C列每一行数据LAMBDA(x,...)对每个单元格内容x单独处理,匹配逻辑与方案1一致
注意事项:
- A列关键词与B列分类需一一对应
- 若C列内容匹配多个关键词,将返回第一个匹配的分类结果
- 建议避免A列关键词出现重复或冲突,确保分类准确性
内容的提问来源于stack exchange,提问作者Rex Nguyen
相关产品推荐
相关产品推荐

