只要函数基础扎实,遇到难题也能轻易解决!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
我们这一代人都玩过《三国志》这款游戏,也为每个人心目中最厉害的三国英雄而争论过。恰巧这里有一份三国主要武将的武力值,大家赶紧来看看到底是哪一位英雄吧!
MMULT函数
我们可以使用MMULT函数来解这道题目。
在单元格H3中输入公式“=MAX(MMULT(IF(ISTEXT(B2:F17),0,B2:F17),ROW($B$1:$B$5)^0))”,三键回车即可。
思路:
利用IF函数配合ISTEXT函数将表中的文本转换为0,得到一个16行5列的矩阵
ROW($B$1:$B$5)^0部分,创造一个5行1列的矩阵{1;1;1;1;1}
利用MMULT函数返回两个矩阵的乘绩和,结果为{0;396;0;230;0;279;0;247;0;268;0;148;0;289;0;106}
最后利用MAX函数求得最大值
其实上述公式也可以简化为“=MAX(MMULT(IFERROR(B3:F17*1,),R3:R7+1))”。这里用IFERROR(B3:F17*1,)来代替上面公式中的IF()部分;R3:R7+1部分的作用相当于ROW($B$1:$B$5)^0,由于在单元格区域R3:R7没有数值,因此也就创建了一个5行1列的矩阵{1;1;1;1;1}。
SUBTOTAL函数配合OFFSET函数
我们在单元格I3中输入公式“=MAX(SUBTOTAL(9,OFFSET($B$3:$F$3,ROW(1:8)*2-2,0,1,5)))”,三键回车即可。
思路:
利用OFFSET函数,以单元格区域$B$3:$F$3为起始点,分别向下移动0、2、4….、14行
利用SUBTOTAL函数分别对8个维度的内存数组求和
利用MAX函数求得最大值
注意,这里只能使用SUBTOTAL函数来配合OFFSET函数求和,而不能使用SUM函数。小伙伴们可以试一下,如果使用SUM函数会是什么结果。
MMULT函数配合TEXT函数
在单元格J3中输入公式“=MAX(MMULT(--TEXT(B2:F17,"0;;0;!0"),U1:U5+1))”,三键回车即可。
思路:
利用TEXT函数,将单元格区域B2:F17中的数据强制按“正数,显示正数;负数,显示空;零值,显示0;文本数据,显示0值”这样一个规则转换数据
利用减负运算将文本型数据转换为数值型数据
接下来再用MMULT函数和MAX函数最终求出最大值
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”
戳原文,更有料!免费模板文档!