excel中用max函数求取不了最大值该如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel中用max函数求取不了最大值该如何解决相关的知识,希望对你有一定的参考价值。

图片中应该是黄色区域为最大值

最大值函数是对数字进行计算的,你的区域是数字加上单位,这就成了文本,所以无法用max来得到最大值的结果。
解决办法1,单元格中只输入数字,要显示单位可通过设置单元格格式来实现。推荐用此方法。更标准的方法是,将单位写在标题行中,即上面的标题为“成交金额(万元)”,这样的工作表看起来更直观,更美观,更舒服。
解决办法2,公式用SUBSTITUTE将单位替换为空,再转换为数字,如:
=--SUBSTITUTE(Q25,"万元","")=MAX(--SUBSTITUTE(Q$25:Q$28,"万元",""),--SUBSTITUTE(Q$32:Q$35,"万元",""),--SUBSTITUTE(Q439:Q$45,"万元",""))
这有多麻烦,所以不推荐。追答

无论方法1还是2,后面的引用区域都要行固定才行,前面的回答中,Q$39误成了Q439(输入$时,shift键没按到位),所以方法1的条件格式公式应该是:
=Q25=MAX(Q$25:Q$28,Q$32:Q$35,Q$39:Q$45)

方法2的条件格式公式应该是:
=--SUBSTITUTE(Q25,"万元","")=MAX(--SUBSTITUTE(Q$25:Q$28,"万元",""),--SUBSTITUTE(Q$32:Q$35,"万元",""),--SUBSTITUTE(Q$39:Q$45,"万元",""))
再次建议设计工作表时不仅考虑美观,而且更重要的是要方便自己对数据进行处理。

参考技术A 看不见编辑栏内容,不知道你的数据格式是否能求出最大值。单从条件格式公式看,问题在于求最大值的范围是相对引用,这就使各个单元格的比较的最大值不一致了,全部改为绝对引用试试:
=Q25=MAX($Q$25:$Q$28,$Q$32:$Q$35,$Q$39:$Q$42)追问

我用了绝对引用后求取的值也不是最大值

追答

你不要每次都新建规则,先删除设置有错的,不然会相互冲突
设置一次后,后面最好就修改规则了,同时要注意设置的范围,范围不正确也会错位显示

参考技术B 条件格式的公式要改为这个: =--LEFT(Q25,LEN(Q$25:Q$28)-2)=MAX(--LEFT(Q$25:Q$28,LEN(Q$25:Q$28)-2),--LEFT(Q$32:Q$35,LEN(Q$32:Q$35)-2),--LEFT(Q$39:Q$42,LEN(Q$39:Q$42)-2))。MAX函数只能比较数字的大小,不能比较文本(例如:xxx万元)的大小,所以要用LEFT函数先提取“xxx万元”中的数字部分。 参考技术C 看图一,你选中的单元格是 42.3万元,如果这个单元格不是Q25,那你的条件格式就错位了。

以上是关于excel中用max函数求取不了最大值该如何解决的主要内容,如果未能解决你的问题,请参考以下文章

如何用excel对数据进行标准化

js中Math.max()求取数组中最大值

python3常用的内置函数

python内置函数

SQL中如何取多列的最大值?

在EXCEL中,如何使用MAX和MIN函数