在 Excel 中,可以用Max函数与MaxA函数取最大值,其中Max函数用于取数值和能转为数值的文本的最大值,MaxA函数除能取Max函数能取的最大值外,还能取逻辑值的最大值;它们都至少要有一个、最多只能有 255 个参数。在取最大值时,还可以用If函数或星号*组合一个或多个条件取满足指定条件的最大值。以下就是 Excel用Max函数与MaxA函数取最大值的使用方法,共包含8个实例,分别为参数为数字、数组、引用单元格和用if或*组合多条件求最大值,实例操作所用版本均为 Excel 2016。一、Excel Max函数与MaxA函数语法
(一)Max函数语法
表达式:MAX(Number1, [Number2], ...)
中文表达式:MAX(数值1, [数值2], ...)
(二)MaxA函数语法
表达式:MAXA(Value1,[Value2], ...)
中文表达式:MAXA(值1,[值2], ...)
(三) Max函数与MaxA函数异同点
1、如果每个参数为数字或为能转为数字的文本(如 "55"),两个函数都把它们计入求最大值;如果某个参数是不能转为数值的文本(如"十")或空值(如""),两个函数都返回值错误 #VALUE!;如果某个参数为逻辑值 True 或 False,两个函数都把它们计入求最大值,True 被转为 1、False 被转为 0。
2、如果参数为数组或引用单元格,数组或引用单元格中的数字与能转为数值的文本(指单元格格式设置为“文本”),两个函数都把它们计入求最大值,但用双引用括起来的数字,例如"12",两个函数都不计入求最大值;如果数组或引用单元格中有不能转为数值的文本或空值,它们将被忽略;如果数组或引用单元格中有错误值(如 #VALUE!),将返回错误值。
3、如果参数为数组,数组中有逻辑值 True 或 False,两个函数都不把它们计入求最大值。
4、如果参数为引用单元格,引用单元格中有逻辑值 True 或 False,Max函数不把它们计入求最大值,MaxA函数把它们计入求最大值。
5、如果参数中不包含任何数字,两个函数都返回 0;另外,两个函数都至少有一个参数,最多只能有 255 个参数。二、Excel Max函数使用的方法及实例
(一)每个参数仅一个值的实例
1、选中 A1 单元格,输入公式 =max(35,67),按回车,返回最大值 67;双击 A1,把公式改为 =MAX(35,67,"99"),按回车,返回最大值 99;双击 A1,把公式改为 =MAX(35,67,""),按回车,返回 #VALUE!;双击 A1,把公式改为 =MAX(35,67,"十"),按回车,同样返回 #VALUE!;双击 A1,把公式改为 =MAX(0.35,0.67,true),按回车,返回最大值 1;操作过程步骤,如图1所示:
图1
2、公式说明:
公式 =MAX(35,67,"99") 返回最大值 99,说明 "99" 被自动转为数值;公式 =MAX(35,67,"") 和 =MAX(35,67,"十") 都返回错误值 #VALUE!,说明参数为空值或不能转为数值的文本都返回错误值;公式 =MAX(0.35,0.67,true) 返回最大值 1,说明逻辑值 true 不但参数求最大值且被转为 1。
(二)参数为数组的实例
1、双击 A1 单元格,把公式 =MAX({0.35,0.67,TRUE}) 复制到 A1,按回车,返回最大值 0.67;双击 A1,把 TRUE 改为 "",按回车,返回最大值 0.67;双击 A1,把 TRUE "" 改为 "2",按回车,也返回最大值 0.67;双击 A1,把 "2" 改为 #VALUE!,按回车,返回 #VALUE!;操作过程步骤,如图2所示:
图2
2、公式说明:
公式 =MAX({0.35,0.67,TRUE}) 返回最大值 0.67,说明数组中的逻辑值不计入求最大值;公式 =MAX({0.35,0.67,""}) 和 公式 =MAX({0.35,0.67,"2"}) 都返回 0.67,说明数组中的空值和用双引号括起来的数字都不计入求最大值;公式 =MAX({0.35,0.67,#VALUE!}) 返回错误值 #VALUE!,说明数组有错误值时,Max函数直接返回错误值。
(三)参数为引用单元格的实例
1、双击 B1 单元格,把公式 =MAX(A1:A5) 复制到 B1,按回车,返回最大值 23;选中 A3,按 Delete,把 23 删除,B1 返回最大值 12;选中 A1,输入“数值”二字,B1 返回最大值 6;选中 A5,把 6 改为 "6",B1 返回 0.58;选中 A3,输入 true,B1 返回最大值 0.58;选中 A4,把 #VALUE! 复制到 A4,B1 返回 #VALUE!;操作过程步骤,如图3所示:
图3
2、公式说明:
公式 =MAX(A1:A5) 用于返回 A1 至 A5 中的最大值;当把 A3 中的 23 删除后,公式返回 12,说明空单元被 Max 忽略,即空单元不影响求最大值;当把 A1 的 12 改为“数值”后,公式返回 6,说明文本也被 Max 忽略;当把 A5 中的 6 改为 "6" 后,公式返回 0.58,说明单元格中带双引号的数字不能转为数值参与求最大值;在 A3 输入 true 后,公式仍返回 0.58,说明单元格中的逻辑值被 Max 忽略;把 #VALUE! 复制到 A3 后,返回值错误 #VALUE!,说明引用单元格中有错误值,Max 直接返回错误值。
(四)参数中不包含数字返回 0 实例
1、选中 A7 单元格,输入公式 =MAX(A1:A6),如图4所示:
图4
2、按回车,返回最大值 0,说明参数中不包含数字 Max 函数返回 0,如图5所示:
图5三、Excel MaxA函数使用实例
(一)引用单元格与数字同时作为参数实例
1、双击 B1 单元格,输入公式 =MAXA(A1:A5,80),按回车,返回最大值 80;操作过程步骤,如图6所示:
图6
2、公式 =MAXA(A1:A5,80) 返回最大值 80,说明MaxA函数可同时使用不同类型的参数,Max函数也一样。
(二)把引用单元格中逻辑值计入求最大值实例
1、双击 B1 单元格,把公式 =MAXA(A1:A3) 复制到 B1,按回车,返回最大值 1;双击 B1,把公式改为 =MAX(A1:A3),按回车,返回最大值 0.21;操作过程步骤,如图7所示:
图7
2、公式说明:
公式 =MAXA(A1:A3) 返回最大值 1,说明 MaxA 会把单元格中的逻辑值 True 转为 1;公式 =MAX(A1:A3) 返回最大值 0.21,说明 Max 会忽略单元格中的逻辑值。四、Excel 用 If 或 * 组合多条件求最大值
(一)取满足两个条件的最大值
1、假如要求分类为“衬衫”、销量地区为“广州”的服装销量最大值。双击 F13 单元格,把公式 =MAX((C2:C12="衬衫")*(D2:D12="广州")*(F2:F12)) 复制到 F13,按 Ctrl + Shift + 回车,返回最大值 563;操作过程步骤,如图8所示:
图8
2、公式说明:
A、=MAX((C2:C12="衬衫")*(D2:D12="广州")*(F2:F12)) 是一个数组公式,因此要按 Ctrl + Shift + 回车。
B、(C2:C12="衬衫") 是公式的一个条件,执行时,依次从 C2 到 C12 中取出每个单元格的内容,如果等于“衬衫”,则返回 True,否则返回 False;例如第一次取 C2 的内容“衬衫”,它等于“衬衫”,所以返回 True,其它的以此类推,最后返回 {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE}。
C、(D2:D12="广州") 与 (C2:C12="衬衫") 是一个意思,最后返回 {TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE}。
D、则 (C2:C12="衬衫")*(D2:D12="广州") 变为 {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE}*
{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE},接着,把两个数组对应的元素相乘,相乘时 TRUE 被转为 1、FALSE 被转为 0,最后返回 {1;0;0;0;0;0;0;0;1;0;0}。
E、F2:F12 以数组形式返回 F2 到 F12 中的所有数值,即 {256;892;874;569;982;681;897;528;563;159;203}。
F、则公式变为 =MAX({1;0;0;0;0;0;0;0;1;0;0}*{256;892;874;569;982;681;897;528;563;159;203}),再把两个数组对应的元素相乘,公式变为 =MAX({256;0;0;0;0;0;0;0;563;0;0}),最后用 Max 返回最大值 563。
(二)取条件中有空格的最大值
1、假如要求“分类”为“衬衫”的服装销量最大值,“分类”一些单元格有空格。双击 F13 单元格,把公式 =MAX((C2:C12="衬衫")*(F2:F12)) 复制到 F13,按 Ctrl + Shift + 回车,返回最大值 892;双击 F14 单元格,把公式 =MAX((TRIM(C2:C12)="衬衫")*(F2:F12)) 复制到 F14,按 Ctrl + Shift + 回车,返回最大值 897;操作过程步骤,如图9所示:
图9
2、公式说明:
A、由于公式 =MAX((C2:C12="衬衫")*(F2:F12)) 没有加去掉空格的函数 Trim,尽管 F8 的“分类”也为“衬衫”,但由于 C8 除“衬衫”二字外还有空格,因此 C8 中的内容不等于“衬衫”,所以不满足条件,因而不能返回最大值 897。
B、公式 =MAX((TRIM(C2:C12)="衬衫")*(F2:F12)) 中 TRIM(C2:C12) 用于去掉 C2 到 C12 中每个单元格的空格,然后再与“衬衫”比较,例如 C8 中的“衬衫”先被去掉空格,再与条件中的“衬衫”比较,所以 C8 中的“衬衫”符合条件,因而返回最大值 897。
3、公式 =MAX((TRIM(C2:C12)="衬衫")*(F2:F12)) 也可以改为用If函数,即=MAX(IF(TRIM(C2:C12)="衬衫",F2:F12)),如图10所示:
图10
按 Ctrl + Shift + 回车,返回的最大值也是 897。
提示:如果 Excel 为低版本,公式不能返回正确值,可以在引用单元格列号和行号前回 $,例如把公式 =MAX((TRIM(C2:C12)="衬衫")*(F2:F12)) 加 $ 后变为 =MAX((TRIM($C$2:$C$12)="衬衫")*($F$2:$F$12))。
每日分享软件应用干货内容,创作有价值的文章,喜欢的小伙伴们点赞+关注吧!
责任编辑: