首页 > 解决方案 > Excel 动态数组运行重复次数

问题描述

我一直在改造一些旧的电子表格工具,以便使用 Excel 的新动态数组公式功能过滤和格式化动态数据输出。这有助于消除一些对预先分配单元格和较少数量的帮助列的需求(这允许减少文件大小和更快的性能)。

我正在努力替换的一种功能类型是提取动态的、运行重复的计数。

例如,假设我有一个包含 20 个名称的 B 列,其长度可以从少数到 200 个名称不等。C、D 等列中也有相关数据,这些数据的大小也有所不同。为了在后面的列中过滤数据,我们目前在 A 中使用一个辅助列,该列由 A 中重复项的运行计数和使用半锚定范围的公式组成(即,以锚定单元格开始范围,扩展为公式被复制到辅助列中,类似于此处的解决方案,CountIf()并带有一个半锚定范围)。与新的动态数组公式相比,这里的缺点是需要为数据预先分配辅助列。

在此处输入图像描述

尽管尝试使用, , 和更多涉及的Index()符号Aggregate()Filter()Sumproduct(--(...))新的动态数组公式。

有没有人有幸将半锚定范围和公式用于动态数组公式?

标签: arraysexcelformulaarray-formulas

解决方案


要使用动态数组公式,我们需要使用易失的 OFFSET。

=COUNTIFS(OFFSET(A1,0,0,SEQUENCE(COUNTA(A1#))),A1#)

在此处输入图像描述


推荐阅读