excel - 即使存在多个实例,如何在excel的列中搜索连续数字的特定数据
问题描述
如何在excel电子表格的1和0的大数据列中找到多个连续数字存在的实例。例如,我的 excel 列如下所示:
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
0
0
1
0
请假设这是我的一些列数据,我需要找到列中存在 1 和 0 的序列的任何位置。
我定义了一个查找单个实例的函数,如下所示:
Function FINDSEQ(seq As String, rng as Range) As Long
FINDSEQ = InStr(1, Join(Application.Transpose(rng.Value), ""), seq)
End Function
但我找不到如何找到多个实例(如果存在)。例如,我需要找到:
1
1
0
0
1
0
作为连续数字的序列,我应该怎么做?
这里 1 1 0 0 1 0 出现了两次,但是根据上面定义的函数,我只能找到一个实例。
解决方案
请尝试下一个功能:
Function FINDSEQ(seq As String, rng As Range) As Long
FINDSEQ = UBound(Split(Join(Application.Transpose(rng.Value), ""), seq))
End Function
并以以下方式调用它:
Sub testFINDSEQ()
Dim sh As Worksheet, rng As Range
Set sh = ActiveSheet
Set rng = sh.Range("A1:A25")
Debug.Print FINDSEQ("110010", rng)
End Sub
或来自单元格(如 UDF):
=FINDSEQ("110010",A1:A25)
不要忘记删除您已经存在的功能
推荐阅读
- vue.js - Vuex Action Handler Context Object 和 Payload ESLint 规则问题
- python-3.x - 在 Hello World 烧瓶应用程序中,Flask 找不到该应用程序
- ios - 自定义表格视图单元格上的附件详细信息按钮⇒内存泄漏
- django - NGINX 和 Gunicorn 的静态媒体故障
- python - 将多个 csv 文件导入 pandas 并连接到一个 DataFrame 中,其中所有 csv 中的第一列相同,并且没有数据标题只是文件名
- java - Firebase身份验证与电子邮件和密码额外字段重复 - Android - Java
- scala - Scala Spark中的年份函数返回错误的年份
- ruby-on-rails - Ruby on rails rails-devise-roles 示例应用程序
- prometheus - Grafana“节点导出器已满”仪表板在导入后不显示任何数据
- django - 优化 Django 中的数据库请求