Excel – find一组数字中最大的差距?
我有一系列的数字
0,1,99,5,5,98,9
他们是未分类的,将保持这种方式。
我不能使用macros。
我想要一个公式或数组公式的答案。
89是sorting时最大的差距(9到98之间)。
我想要一个公式,没有vba,并没有sorting我的列或行。
我需要一个公式来对列表进行sorting,并相对于sorting列表减去一个单元格,并给出它创build的差异列表的最大差异。
所以名单变成0,1,5,5,9,98,99
从前面减去电stream(na,1,4,0,4,89,1)
并给了我最大的89。
我的列表是7行的列。
这个公式必须是数组input 。 在公式中,RNG是指您input数字的范围,例如A1:A7
=MAX(LARGE(RNG,ROW(INDIRECT("1:"&-1+COUNT(RNG))))- LARGE(RNG,ROW(INDIRECT("2:"&COUNT(RNG)))))
要数组input公式,在将公式input到单元格或公式栏后,按住Ctrl键并按Enter键 。 如果你这样做是正确的,Excel将把括号{…}放在公式的周围。
您可以通过使用“公式”function区的“公式审核”选项卡上的“评估公式”选项来查看公式如何工作。
简而言之,该公式通过创build两个数组按大小sorting来工作。 LARGE函数的“K”值是由ROW(INDIRECT序列)创build的数组
{1;2;3;4;5;6}
第二个回报
{2;3;4;5;6;7}
返回的两个数组值将会是:
{99;98;9;5;5;1} {98;9;5;5;1;0}
从另一个减去一个结果的差异数组,我们find最大值。
MAX(A:A) - LARGE(A:A,2)
给出了最大和次最大值之间的差额,如果你的数字在A列。不要把这个公式放在A列。
将A1到A7的值以任意顺序排列!
在B1中input:
=RANK(A1,$A$1:$A$7,0)+COUNTIF($A$1:$A1,A1)-1
并通过B7复制
在C1中input:
=INDEX($A$1:$A$7,MATCH(ROW(),B$1:B$7,0))
并通过C7复制
在D2中input:
=C1-C2
并通过C7复制
最后在E1里input:
=MAX(C:C)
列B表示列A中的值的sorting顺序。 C列按sorting顺序包含列A的值。 D栏是区别, E1给出了所需的答案。 这里是一个例子: