Google Sheets正则优化:从字符串末尾提取单/双字符计量单位
解决方案:Google Sheets 提取末尾计量单位(单单元格返回结果)
直接使用以下公式即可在单个单元格内完成提取,无需冗余列合并:
=IF(A1<>"",REGEXEXTRACT(A1,"[a-zA-Z]{1,2}$"),"")
原公式问题分析
你之前的公式使用了两个独立的捕获组(([a-zA-Z][a-zA-Z]) 和 ([a-zA-Z])),Google Sheets 的 REGEXEXTRACT 函数遇到多个捕获组时,会自动将每个组的匹配结果拆分到相邻单元格,这就是为什么需要额外合并步骤的原因。
优化后公式逻辑
[a-zA-Z]{1,2}:匹配1到2个大小写字母,覆盖你提到的ml、g、kg、pk等所有计量单位场景$:锚定到字符串末尾,确保只提取结尾的字母(符合你的数据特征:每个单元格都以计量单位结尾)- 整个正则没有多余的捕获组,
REGEXEXTRACT会直接返回匹配到的1-2个字母,结果直接输出在当前单元格
测试示例
| 源单元格(A1) | 公式返回结果 |
|---|---|
| 500ml | ml |
| 1kg | kg |
| g | g |
| orange pk | pk |
| (空单元格) | (空) |
内容的提问来源于stack exchange,提问作者TrisquelWhare
相关产品推荐
相关产品推荐

