0

我有一张表,其中每一行是一个时间,每一列是一个主题,每个条目都是一笔付款。对于每一次,我都想计算曾经收到付款的科目数量(即有多少科目在该行上方有非空白列)。如何在单个列中执行此操作?

谢谢你的帮助!

(从 excel 复制时遇到问题。前四列是数据;第五列是我的预期结果。# = 数字,- = 空白,| = 列分隔符。感谢 Siddharth Rout 的格式化帮助)

# | - | - | # || 2

- | # | - | # || 3

# | # | - | - || 3

- | - | - | - || 3

- | - | # | - || 4
4

1 回答 1

2

我真的很喜欢这个问题。

我能想到的唯一方法是在工作表顶部添加一个额外的“帮助”行。

我将如何做到这一点:

  • 在工作表顶部添加新行(第 1 行)
  • 在单元格 A1(新插入的行)中,输入以下公式:

    =MATCH(TRUE,INDEX((A2:A9000<>""),0),0)+1

(这将告诉您该列中存在值的第一行 - 将 更改A9000为更适合您的数据的行数):

  • 将该公式拖到您拥有数据的所有列中
  • 在您想要最终结果的列中(假设它是本示例的 E 列),将以下公式放入E2

    =COUNTIF($A$1:$D$1,"<="&ROW())

  • 将该公式拖到整列中,您应该会得到所需的结果。


作为解释,辅助行查找表中包含数据的第一行,最后一列仅计算该辅助行中数字小于或等于当前行号的所有值。

希望这是有道理的。

于 2013-02-20T17:57:50.177 回答