首页 > 解决方案 > 如何在excel电子表格列中查找连续数字的特定数据

问题描述

请帮助我找到电子表格列中存在的数字序列。

我在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

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

标签: excelexcel-formulaspreadsheetexcel-2016

解决方案


在 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的解决方案,因为会有上限。


推荐阅读