按发生次数计算重复次数

时间:2019-04-11 12:07:16

标签: excel excel-formula

我有2列。 在其中一列中,我有文本“ Multi-Drop”和空格(col-2)。

在另一个我有“第一行”和空格(col-1)

我想计算col-2中的重复项,直到出现col-1中的第一行,而忽略col-3中的空白

这将需要灵活一些,因为我不会选择某个范围,而是选择整个列。

我已经尝试过下面的方法,并且也要补偿,但是我只能计算整个列。

=IF(B2=A1,C1,C1+1)

这是我的数据演示,以及预期的结果(第一行文本与第二行之间的空格为空白)

如您所见,“一线”发生在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

2 个答案:

答案 0 :(得分:1)

这并不是您想要的100%,但是您可以从那里拿走。

对于单元格C2:

ext_path/my_style.css

如果B列没有空点,那很好。

最后一个重复项将无法正常工作,因为它会检查“第一行”两次出现之间的像元数量。由于没有第二条“第一线”出现,因此会给您一个错误。

是足够的帮助还是您可以从这里获得帮助?我会发表评论,但是我还没有足够的分数,所以我只能发表答案。

This is a snippet of what I tried

编辑: 忘了English Excel使用而不是;

在我的代码中修复了该问题。

答案 1 :(得分:1)

假设数据位于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 ) ) ) ) ) )

enter image description here

建议查看以下页面,以获取有关所使用功能的其他信息: Excel functions (alphabetical)

IFERROR function INDEX function MATCH function ROW function