Excel:在表列

问题描述

我试图在 Excel 的表格中实现这一点: https://exceljet.net/formula/running-count-of-occurrence-in-list

因此,按有序序列计算列表中的每个项目:

enter image description here

(当然我也想要红色和绿色)

但是,如果我将其转换为表格,并添加类似这些变体的内容,那么我会得到每个的总数。有没有办法在表格列中实现这一点?我发现的唯一其他答案是在 Power Query 中,我不会在此表中使用它:

=IF([@Color]="blue",COUNTIF([Color]:[@Color],"blue"),"")
=IF([@Color]=[@Color],[@Color]),"")
=IF([@Color]="blue",COUNTIF([@Color],"")

解决方法

您可以使用 INDEX() 来指代每行手头的范围:

enter image description here

B2 中的公式:

=SUM(--(INDEX([Color],1):[@Color]=[@Color]))

含义:

  • INDEX([Color],1) - 始终引用“颜色”列中的第一行;
  • : - 继续创建有效的范围引用;
  • [@Color] - 引用当前行/值。
  • =[@Color] - 将上述结构与当前行/值匹配。
  • -- - 将 TRUE/FALSE 数组转换为 1/0 值。
  • SUM() - 将给定数组求和。

请注意,您标记的网站非常方便,它们也包含您在另一个页面上覆盖后的内容。见this

另外,我想这需要在 365 之前版本的 Excel 中输入 CSE