zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Excel公式练习:查找每行中的最小值并求和

Excel 查找 练习 求和 公式 最小值 每行
2023-06-13 09:15:13 时间

引言:本文的练习整理自chandoo.org。多练习,这是我们从小就在使用的学习方法。在练习的过程中,认真思考,不断尝试,以此来磨练自己的公式与函数应用技能,也让研究Excel的大脑时刻保持着良好的状态。同时,想想自己怎么解决这个问题,看看别人又是怎样解决的,从而快速提高Excel公式应用水平。

本次的练习是:求出列A和列B中每一行最小值相加的和。

图1

示例数据中结果为:4+8+8+10+9+5+2+7+3+2=58

要求不能使用易失性函数。

请写下你的公式。

解决方案

公式1:

=SUMPRODUCT((A1:A10<B1:B10)*(A1:A10)+(B1:B10<=A1:A10)*(B1:B10))

公式中,SUMPRODUCT函数里“+”号前得到处于列A中的最小值,“+”号得到处于列B中的最小值,将它们相加即得到结果。

公式2:数组公式。

=SUM(IF(B1:B10<A1:A10,B1:B10,A1:A10))

公式中,IF函数的结果为数组:{4;8;8;10;9;5;2;7;3;2}。

公式3:

=-SUM(MMULT(A1:B10,{-1,-1;-1,1}/2)^{1,2}^{1,0.5})

该公式基于原理:MIN(A1:B1)=(A1+B1-ABS(A1-B1))/2。

公式4:

=SUMPRODUCT(((A1:A10>B1:B10)+{1,0}=1)*A1:B10)

公式5:数组公式。

=SUM(LARGE(A1:B10,MOD(LARGE(ROW(A1:B10)*10^6+RANK.AVG(A1:B10,A1:B10),(ROW(A1:B10)-MIN(ROW(A1:B10)))*COLUMNS(A1:B10)+1),10^6)))

这是一个更灵活的公式,适用于多列。详细原理参见下一篇文章。