我创建了一个excel电子表格来跟踪我尝试过的400种不同类型的啤酒以及他们的家庭啤酒厂,酒精含量和&评分。我已经使用数组公式来计算每个啤酒厂有多少不同的啤酒厂和多少啤酒,以及我尝试过的每种款式有多少种不同的样式和多少种。我遇到的问题是对数据进行排序。我在K栏中列出了所有各种啤酒厂(不包括重复品)。在L栏中,我有来自每家啤酒厂的不同啤酒。我想对列K&列进行排序L使用列L中的值从最大到最小.L同样适用于列M& N除了它以外的风格,而不是我跟踪的啤酒厂。我无法弄清楚如何使用它,因为我使用了两个数组公式,每列一个,基本上结果取决于另一个的结果。任何有关此事的帮助将不胜感激。以下是一个链接,您可以下载电子表格以更好地了解我正在做的事情。
https://www.dropbox.com/s/cysa2rvcgcbs13c/TGS.xlsx?dl=0
我用于在列K和M中创建唯一列表的数组公式也是我对数组公式的第一次尝试。因此,如果有人能告诉我它们是否有效,并且是否有更好的方法来做我正在尝试做的事情,那就是查看B列中的数据,丢弃重复项,并提取独特的啤酒厂进入K列。同样的事情适用于C& C列中的样式。微米。
提前致谢!
答案 0 :(得分:0)
虽然在单个公式中执行所有计数和排名的可能性很小,但 Helper 列的使用更有意义并且大大降低了计算负担。对于所有意图和目的,您现有的唯一列表和COUNTIFS
是帮助列包含的内容,然后您可以根据COUNTIF
返回的排名将值返回到另一列。
我从K2修改了数组公式并将其放入P2 as,
=IF(LEN(P1), IFERROR(INDEX($B$2:$B$501, MATCH(0, IF(LEN($B$2:$B$501), COUNTIF(P$1:P1, $B$2:$B$501&""), 1), 0)), ""), "")
Q2中的标准公式类似于之前的L2中的标准公式
=IF(LEN(P2),COUNTIF($B$2:$B$501,P2), "")
L2中的公式现在可以使用此标准公式从列Q返回排名结果,
=IFERROR(LARGE($Q$2:$Q$501, ROW(1:1)), "")
使用L2中的排名回报,K2可以使用此数组公式从P列返回匹配的啤酒厂,
=IF(LEN(L2),INDEX($P$2:$P$501,SMALL(IF($Q$2:$Q$501=L2,ROW($1:$500)), COUNTIF(L$2:L2, L2))),"")
对S,T,M和N列进行类似修改。然后一切都填满了501行。
我已经在我的SkyDrive here上提供了修改后的工作簿供您参考和下载。如果你想删除它,请告诉我。
有关此方法的更多信息,请参见Multiple Ranked Returns from INDEX(…) with Duplicate Values