使用REGEXEXTRACT生成的列时MAX函数返回0的问题求助
问题原因与解决建议
问题原因
REGEXEXTRACT函数提取的数字是文本格式,而非数值类型。MAX函数仅识别纯数值型数据,会忽略文本格式的数字,因此计算时返回0,导致C列的判断逻辑失效。
解决方法
方法1:转换B列为数值型
修改B列公式,在提取后通过VALUE函数转换为数值:
=VALUE(REGEXEXTRACT(A1;"\d+"))
修改后B列数据变为纯数值,C列原公式=B1=MAX(B1:B3)即可正常工作。
方法2:在MAX函数中批量转换格式(不修改B列)
修改C列公式,对B列的文本数字批量转换后再取最大值:
- Google Sheets需搭配
ARRAYFORMULA:=B1=MAX(ARRAYFORMULA(VALUE(B1:B3))) - Excel可直接使用简写转换:
=B1=MAX(--B1:B3)
方法3:跳过C列,直接设置A列条件格式
无需单独维护C列,直接给A列添加条件格式规则,使用以下公式判断:
=VALUE(REGEXEXTRACT(A1;"\d+"))=MAX(ARRAYFORMULA(VALUE(REGEXEXTRACT(A:A;"\d+"))))
设置完成后,A列中对应提取数字为最大值的单元格会自动应用格式。
内容的提问来源于stack exchange,提问作者user3770101
相关产品推荐
相关产品推荐

