如何在Excel/Google Sheets中使用公式从文本字段提取年份
Excel/Google Sheets 从电影名称列提取年份的公式方法
从示例数据的格式特征来看,所有上映年份均为4位数字,包裹在片名末尾的半角圆括号中,可直接套用以下对应公式提取:
Google Sheets 方案
- 基础通用公式(适配绝大多数标准格式片名)
直接提取括号内的4位年份,输出结果自动转为数值格式,方便后续排序、计算:
公式逻辑:通过正则匹配「半角左括号+4位连续数字+半角右括号」的特征片段,单独提取其中的4位数字,末尾乘1是为了把文本型数字转为数值格式,不需要转格式删掉=REGEXEXTRACT(A2, "\((\d{4})\)")*1*1即可。 - 精准容错公式(避免提取到片名中其他位置的4位无关数字)
限定仅提取1900-2099范围内的公历年,匹配准确率更高:=REGEXEXTRACT(A2, "\((19|20)\d{2}\)")*1
Excel 方案
根据你使用的Excel版本选择对应公式即可:
- 365/2021及以上新版本(支持REGEX函数)
公式逻辑和Google Sheets完全一致,直接使用:
如果不想用正则,也可以用更轻量化的文本定位函数:=REGEXEXTRACT(A2, "\((\d{4})\)")*1
逻辑:先定位半角左括号在文本中的位置,从括号后第一位开始截取4个字符,即为年份。=MID(A2,FIND("(",A2)+1,4)*1 - 2019及更早老版本Excel(无原生正则支持)
用容错版文本定位公式,可自动适配片名中存在多个半角左括号的场景,始终取最后一个括号内的4位年份:=MID(A2,FIND("@@",SUBSTITUTE(A2,"(","@@",LEN(A2)-LEN(SUBSTITUTE(A2,"(",""))))+1,4)*1
注意:如果你的数据里存在年份不在括号内、或片名末尾括号内不是年份的特殊情况,可根据实际文本特征调整匹配规则即可。
内容的提问来源于stack exchange,提问作者user8702720
相关产品推荐
相关产品推荐

