【发布时间】:2020-05-13 15:43:57
【问题描述】:
我在 Excel 中有一行这样的数字模式(每个数字在不同的单元格中)。
1 0 0 0 2 0 0 1 0 0 0 0 0 3 0 0 0 0 0 0 0 0 2 0 0 0 1
(我的行有 300 个单元格)。
定义:
- 我将非零值之间的零序列称为“0 序列”。
- 我将标记 0 序列开始和结束的非零值称为“标记值”
我要计算:
- 对0序列计数0的个数。在上面这个例子中,结果是:3,2,5,8,3
- 确定最小的 0 序列。在上面的例子中,它是 2
- 确定最大的 0 序列。在上面的例子中,它是 8
-
确定每个0序列的频率。在上面的例子中是:
整行长度为1的0序列个数:0
长度为2的整行0序列个数:1
整行长度为3的0序列个数:2
长度为4的整行0序列个数:0
整行长度为5的0序列个数:1
整行长度为6的0序列个数:0
整行长度为7的0序列个数:0
长度为8的整行0序列个数:1
我尝试了不同的 Excel 公式,例如:
=ABS(MATCH(D13, B2:B11, 0)-MATCH(D14, B2:B11, 0))-1
此公式不适用于具有相同值的标记值(“D13”、“D14”)。它也不会为多个 0 序列计算它。
任何提示,最好没有 VBA,将不胜感激。
【问题讨论】:
-
我发现的 Google 结果是将单元格值与参考值进行比较,独立于其他单元格值(例如,一行/列/矩阵中有多少个值为 x 的单元格?大于/小于 y 的值在行/列/矩阵中?)。我找不到考虑单元格值之间依赖关系的机制。
标签: excel excel-formula sequence