【问题标题】:How to find a specific data of consecutive numbers inside an excel spreadsheet column如何在excel电子表格列中查找连续数字的特定数据
【发布时间】:2020-07-27 15:30:46
【问题描述】:

请帮我找出电子表格列中的数字序列。

我的excel列中有1和0的大数据,我需要找到列中连续1和0的序列。例如我的excel列如下:

0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0

请假设这是我的一些列数据,我需要找到列中存在的 1 和 0 的序列。 比如我需要找到:

0
0
1
1
0
1

此列中的数据序列。 有序列搜索什么的功能吗?请帮忙!!

【问题讨论】:

    标签: excel excel-formula spreadsheet excel-2016


    【解决方案1】:

    在 Excel 2019 和 O365 中,使用CONCAT() 相当容易:

    =FIND("001101",CONCAT(A1:A19))
    

    但是,在这些 Excel 版本之前组合一系列单元格可能会很棘手。你会很快陷入=MAX((A1:A19=0)*(A2:A20=0)*(A3:A21=1)*(A4:A22=1)*(A5:A23=0)*(A6:A24=1)*(ROW(A1:A19)))(作为数组公式)之类的语法中。在这种情况下,UDF 并不是一个糟糕的选择:

    Function FINDSEQ(seq As String, rng as Range) As Long
        FINDSEQ = InStr(1, Join(Application.Transpose(rng.Value), ""), seq)
    End Function
    

    致电:=FINDSEQ("001101",A1:A19)

    注意 - 可能会找到更好的解决方案,因为Application.Transpose 会有上限。

    【讨论】:

    • 不幸的是 =FINDSEQ 函数在我的 Microsoft Excel 2016 版本中不可用。
    • @AashiqShajahan,这是一个自定义函数。除非将上述代码粘贴到模块中,否则任何人都无法使用。见this
    • 谢谢。有效。我可以找出列中是否存在这些数字序列的多个实例吗?
    • 当然,只要您自己尝试一下,对我来说似乎是一个合适的新问题。欢迎您提出新问题。
    • 你能不能自己在这里回答。请.....我应该编辑这个问题吗??
    【解决方案2】:

    如果数字格式为字符串,您可以简单地执行以下操作:=search("1 1 0 1 0 1";A1)

    【讨论】:

    • 问题的格式有错误,其实我输入的1和0的数据是一行一行的,但它是这样自动更正的。那就是我假设列内的数据。
    • 公式对我来说会更好,因为我不太习惯 VBA。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多