我正在尝试在 Excel 上进行一些数据分析,但遇到了一些麻烦。
因此,问题是我需要使列表中的最后一个连续数字计数,但其余数字需要删除为 0。例如,A 列的第一个数字为单个连续数字“1”,因此 B 列的等效数字保持不变,并转换为 C 列的“1”。但是“A”中的下一个数字是 1 和 2,在这种情况下最后一个连续数字为“2”,因此 B 列的等效数字被转换为 C 列的 0,但无论 B 列中的内容如何,“1”的等效数字都是 0。
另一种说法是,如果我在 A 列中有 1,2,3,在 B 列中有 1,1,1,那么 C 列的答案应该是 0,0,1,因为只有连续链的最后一个数字有效,其他数字将转换为 0。所以这可以再次是 A 列 1,2 和 B 列 0,0,那么 C 列将为 0,0,因为只取最后一个数字,巧合的是,这也是 0。
提前感谢您的帮助!
前
A B C
1 1
1 0
2 0
1 1
2 1
1 0
1 1
1 1
2 1
1 1
2 1
3 1
1 0
1 1
1 1
2 1
1 0
2 0
3 0
后
A B C
1 1 1
1 0 0
2 0 0
1 1 0
2 1 1
1 0 0
1 1 1
1 1 0
2 1 1
1 1 0
2 1 0
3 1 1
1 0 0
1 1 1
1 1 0
2 1 1
1 0 0
2 0 0
3 0 0
答案1
据我了解,您正在检查 A 列中的最后一个连续数字,并在 B 列中显示与 C 列产品相同的行条目?在这种情况下,这似乎有效:
=如果(A1>=A2,B1,0)
答案2
上述答案中的公式在某些情况下会给出错误的结果。假设 A 列有 1,1,2,2,1... 在这种情况下,第二个“2”将使用 B 列中的值而不是零来触发。
下面给出了一个更通用的解决方案,假设原始问题可以重述如下:
对于 A 列中作为一组升序数字中的最后一个数字的每个数字,C 列中的数字必须设置为等于 B 列中的数字。当 A 列中的数字为 1 且不属于升序序列时,也会发生这种情况。否则,C 列设置为零。
如果我正确陈述了问题,那么这里有一个可行的方法(至少它重现了 AFTER 表中的 C 列)。第一行是一个特殊情况,留给读者练习。:-)
- 一组升序数字中的最后一个数字比前一个数字大 1,并且不比后一个数字小 1。即,此表达式对这些数字为真:AND(A2-A1=1,A3-A2<>1)
- 不属于升序数列的 1 必须等于 1 且不比后面的数字小 1。即,此表达式对这些数字成立:AND(A1=1,A2-A1<>1)
- 把它们放在一起:= IF(OR((AND(A2-A1=1,A3-A2<>1),AND(A2=1,A3-A2<>1)),B2,0)
在 C2 中输入此公式并向下填充。