如何获取 table 中的 counts/frequencies 个值?

How to get the counts/frequencies of values in a table?

我有一个问题,我需要获取 table 中值的出现次数/计数或频率。但是,我之前无法给出类别,因此与 countif 相反,我无法指定特定值,因为这需要从 table 中完成。我有一个完整的 table,而不仅仅是一个专栏。图为缩小示例:

我需要的结果是这样的(我是手动算的,希望没记错):

不需要计算空单元格。

对于起点,我可以不指定小写和大写之间是否存在差异(例如 L 和 l)。这可以单独计算,也可以同时计算。以后能选这个作为选项就好了。 (我可以使用小写函数并引用此列并用值填充另一列,但是原始数据太大了。)。我现在的问题是我无法完成这项 "simple" 任务。我找到了一个单列的解决方案,使用带有 countif 的矩阵函数:

{=countif(A21:A27;A21:A27)}

这不适用于整个 table。我的原始数据太大,无法手动执行任何任务并为每一列重复此操作或将数据从 table 手动重新排列为一列。

可惜我限于Exceland/orExcelVBA。我无法使用任何其他工具。我对 excel 解决方案很满意,如果在 VBA 中有办法做到这一点,我也很满意,但是为此我无法提供我尝试过的证据,因为我不知道我不知道如何对此进行编程,但我在编码方面不够先进 VBA。

如果数据位于一列中,则分析该数据最容易。您可以为此使用 Power Query(获取和转换)。将数据加载到 Power Query 编辑器中,仅保留第 1 列。重复并仅保留第 2 列,对第 3 列和第 4 列重复。

接下来,追加列,这样您就有了一列数据。

现在您可以将此数据加载到数据模型中,然后很容易构建一个数据透视表 table。可以在 Power Query 中或通过过滤数据透视表 table.

删除空白单元格

通过 PowerQuery

示例数据:

我的 Excel 是荷兰语,所以请原谅我犯了一些翻译错误。它仍然应该为您指明正确的方向:

  • 1: Select 所有数据 > 数据选项卡 > 转换 > 从 Table/Range > 选择否 headers
  • 2:在 PQ select 所有 4 列 > 转换选项卡 > 逆透视所有列
  • 3: Select 值列 > 变换选项卡 > 透视 Table > 确定
  • 4: Select 所有列 > 变换选项卡 > 再次逆透视所有列
  • 5: 退出 PowerQuery 并确认保存您的版本。

结果:

  • 将排除空单元格
  • 会区分大小写