重复计算两个值之间的距离 Excel
Posted
技术标签:
【中文标题】重复计算两个值之间的距离 Excel【英文标题】:Repetitive calculating distance between two values Excel 【发布时间】:2022-01-17 06:11:32 【问题描述】:在单个二进制列中,仅由 0 和 1 组成(011111011110101111011),我想计算零之间的距离(如下图所示),或者计算列中连续 1 的数量并重新启动列表中出现 0 时立即计数。
有人能告诉我要结合哪些公式吗?
我可以得到它来计算第一组,但是当第二个 0 出现时,我不知道如何从那个点重新开始计数。
【问题讨论】:
公式无法合并单元格。那些已经存在了吗?还是他们只是为了展示分组?如果没有必要,请edit 在帖子中包含您希望在没有合并单元格的情况下如何从公式中输出? 【参考方案1】:好吧,您可以对此进行测试,但它会在零旁边的单元格中给出计数...
=IF(A2=1,"",ROW()-COUNTIF(A$1:A2,0)-SUM(B$1:B1))
因此,这可能只是您根据需要进行编辑的开始。
【讨论】:
ROW()-COUNTIF(A$1:A2,0)-SUM(B$1:B1)
可以缩短为 SUM(A$1:A2)-SUM(B$1:B1)
,因为它们都是 1 和 0。此外,如果您更改 COUNTIF 以计算 1
: COUNTIF(A$1:A2,1)-SUM(B$1:B1)
您可以删除对它自己行的引用。这样,如果 OP 上面有标题行或其他内容,我们就会得到正确的计数。【参考方案2】:
每当我需要做这样的事情时,我都会使用两个额外的列。
在数据旁边的列(即 B)中,在顶部单元格 (B1) 中输入 1。
在 B 列的其余单元格中输入公式(此处为单元格 B2):
=IF(A2=A1;B1+1;1)
如果 A 列中有 1,这会将前一个数字加 1,否则将计数重置为 1,因此它会跟踪连续 1 的数量(或零)的运行总数。
现在在 C 列中,在所有单元格中添加以下公式(为单元格 C1 制定的公式):
=IF(AND((A1=1);(A2<>1));B1;"")
这只是检查它是否是系列中的最后一个 1 并从 B 列复制值,否则返回一个空字符串。结果如下所示:
然后您可以隐藏 B 列以仅在 C 列中显示结果。
【讨论】:
以上是关于重复计算两个值之间的距离 Excel的主要内容,如果未能解决你的问题,请参考以下文章