
陶泽玉Excel应用技巧百科全书第26期:按数组公式排序

陶泽宇,8月15日,23:22,您确定您不再关注此人

一、快速实,银和铜牌的数量排序。 ,如果所有奖牌都相同,则排名并列。

从表中可以看出,尽管日本和匈牙利获得的金牌数量相同,但获得的银牌和铜牌数量却不同。因此,日本应该排在匈牙利之前。
因为每个奖牌的数量是一个数值,并且是一个正整数,并且奖牌的数量不超过2位,所以您可以重新创建一个新数组,以(* 10 ^ N)进行比较。
第一个创建命名公式的是NewNum:
= $ C $ 2:$ C $ 17 * 10 ^ 10 + $ D $ 2:$ D $ 17 * 10 ^ 8 + $ E $ 2:$ E $ 17 * 10 ^ 6

通过判断命名公式NewNum生成的内存阵列,可以提取排名和部门信息。
方法1:首先为A列生成一个排名,然后通过该排名提取每个国家的名称和奖牌数量
单元格A3的数组公式为:
{= INDEX(MMULT(N(NewNum
表1) ^0)+ 1,row()-2)}
由于RANK函数和COUNTIF函数仅支持引用的排序,因此使用“数值比较方法”获得1的组合数组,然后通过MMULT函数进行水平求和即可获得每个值的排序。
注意:由于Excel只能为该值的整数部分保留15个有效值,因此可以通过数值比较来处理此示例。但是,如果数组的重构涉及更多列,则用户需要考虑使用文本串联来重新组合文本,然后使用文本比较来解决此类问题。
方法2:直接使用奖牌数进行排名,最后查询获得的奖牌数
例如,单元格H3的数组公式如下:
{= OFFSET($ B $ 2,RIGHT(SMALL(MMULT(N(NewNum
Table1) ^0)* 100000 + ROW(Table1) -2,ROW(A1)),5),)}
此解决方案还使用MMULT函数的比较和判断对数组进行排序,将结果和数组行号重新组合为新数组,然后通过SMALL函数获得相应的位置行号,最后使用OFFSET函数将其提取出来。国家名称和排序结果如图5所示。

最后,单元格I3中的奖牌查询公式如下:
= VLOOKUP($ H3,$ B $ F,5,0)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-325841-1.html
早都预料该公司要出事
定期存款100亿