excel - 按出现计数重复
问题描述
我有 2 列。在其中一列中,我有文本“Multi-Drop”和空白(col-2)。
在另一个我有“第一行”和空白(col-1)
我想计算 col-2 中的重复项,直到 col-1 中的 First Line 出现而忽略 col-3 中的空白
这需要灵活,因为我不会选择某个范围,而是选择整个列。
我已经尝试过使用以下和偏移量,但我只能计算整个列。
=IF(B2=A1,C1,C1+1)
这是我的数据的演示,以及预期的结果(第一行文本和第二行之间的空格是空白)
如您所见,First-Line 发生在 Multi-Drop 的第一个实例上,但这是基于另一个公式。
col-1 col-2 Expected Result
First Line Multi-Drop 2
Multi-Drop 2
First Line Multi-Drop 5
Multi-Drop 5
Multi-Drop 5
Multi-Drop 5
Multi-Drop 5
First Line Multi-Drop 4
Multi-Drop 4
Multi-Drop 4
Multi-Drop 4
First Line Multi-Drop 2
Multi-Drop 2
解决方案
假设数据位于在副本中A2:B17
输入此直到:FormulaArray
C2
C17
同时按 [Ctrl]
+ [Shift]
+输入公式数组, 如果输入正确[Enter]
,您将看到公式 {
周围 }
= IF( EXACT( B2, "" ), "",
IF( EXACT( A2, "First Line" ),
COUNTIF( INDEX(B:B, ROW() )
:INDEX(B:B, IFERROR( - 1 + ROW() + MATCH( "First Line", A3:A$1048576, 0 ), 1048576 ) ), "Multi-Drop" ),
IF( NOT( EXACT( C1, "" ) ), C1,
INDEX(C:C, MAX( ( ( C1:C$2 <> "" ) * 1 ) * ROW( C1:C$2 ) ) ) ) ) )
建议查看以下页面以获取有关所用函数的更多信息: Excel 函数(按字母顺序)