【问题标题】:How do I count consecutive same values如何计算连续相同的值
【发布时间】:2013-12-17 03:19:19
【问题描述】:

我想要计算值列表中连续出现的次数并将其出现在下一列中的次数的公式。

这是我创建的电子表格,其中列出了阿森纳本赛季迄今取得的成绩。红色的值是我希望公式实现的值。

https://dl.dropboxusercontent.com/u/92830254/test-sheet.xlsx

我有 3 个单独的请求:

1) 团队的当前运行。因此,如果阿森纳连续赢了 2 场比赛,那么每个获胜实例旁边会出现 2 场。平局和输球也是如此。

2) 球队保持不败的当前比赛,即获胜或平局。因此,如果阿森纳有像 WIN-DRAW-DRAW-WIN 这样的运行,那么 4 将出现在每个结果之后的下一列中。如果他们输掉了一场比赛,该列将是空白的。

3) 最后,球队得分的比赛数量,即进球数 >=1。因此,如果阿森纳的最后 3 场比赛是 2,1,1,那么在该范围内的每个值之后都会出现 3。如果他们没有得分,那么它将保持空白。

谢谢。

在实施时仍有问题,于 2014 年 10 月 31 日更新。

【问题讨论】:

  • 你说数字 4 出现了 3 次,但它实际上出现了 5 次,所以不清楚你在问什么。你的例子不清楚。也许您想要列中所有 4 的计数,或者您可能只想要列中连续 4 的计数。请对此进行编辑以使其更清晰。

标签: excel excel-formula worksheet-function


【解决方案1】:

我是长期这样做的 :)

假设您的数据在带有标题的 A 列中(意味着实际数据从 A2 开始)。
B2 中输入此公式并复制到您的数据扩展位置:

=IF(OR(A2=A3,A1=A2),"YES","NO") 'this checks if consecutive or not

C2 中输入此公式并复制到您的数据扩展位置:

=IF(A2=A1,C1,ROW(A2)) 'this gives identity on numbers that re-occured (eg. 4 in your example)

D2 中输入此公式并复制到您的数据扩展位置:

=COUNTIFS(A:A,A2,B:B,B2,C:C,C2) 'finally, this gives you the values that you want.

希望这对您有所帮助。
截图如下:

【讨论】:

  • 是的,这确实起到了作用,但无论如何可以对其进行更多修改,让我们从您的示例中说,我们在 A 中的 put 中添加了新列,将其他列移过。这将被称为“颜色”。我们只会使用红色或黑色。因此,新公式将寻找运行,条件为红色或黑色。
  • 是的,可以做到。您可以参考 Doug 使用 VBA 编写的 post。但如果你不喜欢 VBA,那么试试这个approach 并查看 Siddart 的答案。如果您遇到任何困难并可能需要帮助或澄清,您可以随时在这里提问。 :)
  • 很抱歉,我只是想不通要更改哪些内容才能适用于我的问题。
【解决方案2】:

这样就可以了。它假定您的值在 A2:A11 中。请注意,公式中的范围扩展到 A12。这是一个array formula,需要使用 Ctrl-Shift-Enter 输入。在B2中输入并复制下来:

=IF(A1=A2,B1,MATCH(FALSE,$A2:$A$12=A2,0)-1)

【讨论】:

  • 哎呀,我的错,我应该说输入B2并复制下来。如果仍然有错误,请告诉我错误是什么。
  • 我会问一个新问题,并详细说明您想做什么。显示这个公式并询问如何修改它,或者是否应该使用辅助列来完成,就像 L42 在这里所做的那样。对不起,该跑了。 :)
【解决方案3】:

您要查找的函数是 countif。它将允许您计算给定范围内的值。

Count If Reference

【讨论】:

    猜你喜欢
    • 2021-04-20
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多