Excel 如何跨多个列获取前5个常见事件的列表?

Excel 如何跨多个列获取前5个常见事件的列表?,excel,google-sheets,Excel,Google Sheets,我有5列,如下所示: A B C D Selection A Selection C Selection G Selection C Selection B Selection D Selection C Selection G Selection C Selection G Selection J Selection D Selection D Select

我有5列,如下所示:

A              B              C              D
Selection A    Selection C    Selection G    Selection C
Selection B    Selection D    Selection C    Selection G
Selection C    Selection G    Selection J    Selection D
Selection D    Selection H    Selection A    Selection B
Selection C - 4
Selection D - 3
Selection G - 3
Selection A - 2
Selection B - 2
我想从这些列中获得前5个选项(也可以按顺序列出),可能旁边有个计数(其实不需要这个,但只是一个很好的选择)。对于上面的示例,它将如下所示:

A              B              C              D
Selection A    Selection C    Selection G    Selection C
Selection B    Selection D    Selection C    Selection G
Selection C    Selection G    Selection J    Selection D
Selection D    Selection H    Selection A    Selection B
Selection C - 4
Selection D - 3
Selection G - 3
Selection A - 2
Selection B - 2

如果很难做到,只列出前5名和计数就不需要了。另一个需要注意的重要事项是,列中的数据量可能会发生变化,我希望顶部出现的列表能够自动更新。我真正需要的是一个基于事件的排序列表,只有前5位,而且计数很好。这可能吗?

F1F7

G1中输入:

=COUNTIF($A$1:$D$4,F1)
并通过G7向下复制


最后,通过降序对colsFG进行排序。

刚刚更新了OP。如果列中的数据可以更改,这是否可能?我希望列表自动更新。如果添加/删除行或增加候选行数,宏可以处理重新计算