Excel 为每个条目查找行中连续不同条目的数量
我试图自动计算一行中添加了多少连续的不同条目。例如,第一个条目将返回Excel 为每个条目查找行中连续不同条目的数量,excel,Excel,我试图自动计算一行中添加了多少连续的不同条目。例如,第一个条目将返回1,而如果与第一个条目相同,则第二个条目将返回1,如果不同,则返回2。我正在努力找到一种方法,让公式沿行“向后”搜索,直到找到它已经看到的条目 我正在努力找到一种方法,让公式沿行“向后”搜索,直到找到它已经看到的条目 我得到的最接近的结果(这几乎不起作用,只是半个公式)是类似于=IF(D2=C2,1,IF(COUNTIF($C2:D2,D2=1,C6+1,”)的东西,其中数据输入到第2行,从B列开始(前两个条目很简单,这之后我正
1
,而如果与第一个条目相同,则第二个条目将返回1
,如果不同,则返回2
。我正在努力找到一种方法,让公式沿行“向后”搜索,直到找到它已经看到的条目
我正在努力找到一种方法,让公式沿行“向后”搜索,直到找到它已经看到的条目
我得到的最接近的结果(这几乎不起作用,只是半个公式)是类似于=IF(D2=C2,1,IF(COUNTIF($C2:D2,D2=1,C6+1,”)
的东西,其中数据输入到第2行,从B列开始(前两个条目很简单,这之后我正在努力)。我的公式中的“
是我认为会进行一些巧妙检查的地方,但我无法计算出它会是什么
我的目标是实现以下目标:
A A B C D E F G H I A A A J K L B M N O A A A P A Q R A A
1 1 2 3 4 5 6 7 8 9 9 1 1 2 3 4 5 6 7 8 8 1 1 2 2 3 4 3 1
然而,我的上述公式只在运行3倍“A”之前有效
非常感谢您的帮助-这是我的第一个问题,所以请客气一点
1
A2
=IF(B1>A1,A2+1,1)
1
A2
=IF(B1>A1,A2+1,1)
现在应该可以了,在A3中:
=MIN(IF(COUNTIFS($A1:A1,$A1:A1,$A2:A2,">="&A2-TRANSPOSE($A2:A2)+1)>1,TRANSPOSE(COLUMN($A2:A2)),99)-1,COLUMNS($A1:A1))
它确实需要一个额外的行,其中包含数字1-29
必须使用CtrlShiftEnter作为数组公式输入
这从一个数组的正常countif开始。如果你认为这是列A- D,那么CulTif($a1:d1,$a1:d1),你会得到
2 2 1 1
(行数组)因为A1和B1中重复了a
我使用了COUNTIFS并添加了另一个条件,只考虑当前列(D),然后在其前面添加列(C:D),然后添加B:D,最后添加A:D。因此得到了一个二维数组:
0 0 0 1
0 0 1 1
1 1 1 1
2 2 1 1
然后用一个大数字(比如99)替换大于1的任何内容,用数组的行号替换其他内容:
99 99 99 99
99 99 99 99
99 99 99 99
4 4 99 99
找到数组中的最小数字并减去1
如果数组包含所有99,则取当前列的列数
因为Count和Countif只适用于实际范围,我想不出一种方法来使用它们,而不创建一个包含列号的辅助行。现在应该可以了,在A3中:
=MIN(IF(COUNTIFS($A1:A1,$A1:A1,$A2:A2,">="&A2-TRANSPOSE($A2:A2)+1)>1,TRANSPOSE(COLUMN($A2:A2)),99)-1,COLUMNS($A1:A1))
它确实需要一个额外的行,其中包含数字1-29
必须使用CtrlShiftEnter作为数组公式输入
这从一个数组的正常countif开始。如果你认为这是列A- D,那么CulTif($a1:d1,$a1:d1),你会得到
2 2 1 1
(行数组)因为A1和B1中重复了a
我使用了COUNTIFS并添加了另一个条件,只考虑当前列(D),然后在其前面添加列(C:D),然后添加B:D,最后添加A:D。因此得到了一个二维数组:
0 0 0 1
0 0 1 1
1 1 1 1
2 2 1 1
然后用一个大数字(比如99)替换大于1的任何内容,用数组的行号替换其他内容:
99 99 99 99
99 99 99 99
99 99 99 99
4 4 99 99
找到数组中的最小数字并减去1
如果数组包含所有99,则取当前列的列数
因为Count和Countif只适用于实际范围,所以我想不出一种方法来使用它们,而不创建一个包含列号的辅助行。我想我已经知道了怎么做,但这将是一个相当丑陋的数组公式,最好在早上看。我想我已经知道怎么做了,但这将是一个相当丑陋的数组公式,最好在早上看。