如何在Excel(Calc)中计算范围不断变化的条纹

如何在Excel(Calc)中计算范围不断变化的条纹,excel,libreoffice-calc,Excel,Libreoffice Calc,我正在创建一个电子表格来跟踪我来年的习惯,我希望能够显示一个简单的计数,以及每个习惯的当前趋势。我已经搜索并找到了一个计算连胜的答案,但是这个答案不适用于实时跟踪器(每天增加一个结束列),并且还要求没有空白字段(1或0条目) 如果我在匹配中将上述值从=0切换到=”,它会非常惊人地中断,并且在任何情况下,它在366天的范围内完全失败,但今天是我对算法的解释: 如果每次发生相同的事情时都有一个1,而每次做不同的事情时都有一个0 然后将所有0和1连接成一个长字符串 然后将字符串拆分为基于0的数组,删除

我正在创建一个电子表格来跟踪我来年的习惯,我希望能够显示一个简单的计数,以及每个习惯的当前趋势。我已经搜索并找到了一个计算连胜的答案,但是这个答案不适用于实时跟踪器(每天增加一个结束列),并且还要求没有空白字段(1或0条目)


如果我在匹配中将上述值从=0切换到=”,它会非常惊人地中断,并且在任何情况下,它在366天的范围内完全失败,但今天是我对算法的解释:

  • 如果每次发生相同的事情时都有一个1,而每次做不同的事情时都有一个0
  • 然后将所有0和1连接成一个长字符串
  • 然后将字符串拆分为基于0的数组,删除所有零
  • 然后最后计算数组结果的最大长度
  • 公式如下:

    =MAX(LEN(SPLIT(B1,"0")))
    
    • 然后在Windows上按Shift+Ctrl+Enter
    • 或者在Mac电脑上使用Cmd+Shift+Enter
    这将把公式转换成数组公式

    (您需要这样做,因为如果您刚刚输入

    =SPLIT(B1)
    
    C1中,它将生成一系列列,每个数组条目一列,填充C1、D1、E1等)

    以下是公式:

    以下是输出:

    电子表格样本

    你可以在谷歌文档和LibreOffice之间上传/下载/转换

    没有使用该电子表格解决方案


    但是这些天大多数都很相似。

    并不像现在那样有效,但你给我指出了正确的方向。利用将1和0合并成一个字符串的想法,我最终确定了一个在所有情况下都有效的条纹公式``=IFERROR((LEN(NG3)-SEARCH(“0[^0]*$,NG3)),LEN(NG3))```
    =MAX(LEN(SPLIT(B1,"0")))
    
    =SPLIT(B1)