仅计算满足区分大小写标准的行,并且相邻行是否为空白

时间:2018-06-21 07:46:11

标签: excel

我正在尝试计算工作表1的A列中包含区分大小写数据的单元格,并且如果同一工作表中的B列不为空白。目前,我可以使用以下公式对区分大小写的单元格进行计数:

=IFERROR(IF($C2="","",COUNT(INDEX(FIND("mMMm",Sheet1!$A:$A),))),"-")

要纳入的下一个标准(上述条件除外)将是,如果B列中相邻单元格不是空白,则仅计算值。到目前为止,我已经尝试结合使用MATCH(<>"",Sheet1!B:B,0)*和IF语句来实现此目的,但无济于事。我也尝试过将其作为数组公式返回,但还是没有。请问您的指导。我不确定我所做的工作是否真的可以按自己的意愿进行,但是我很想知道并学习可以完成此工作的功能。谢谢!

这里有一些示例数据可以更好地解决这一问题:

Column A       Column B
12mMMmqq          1
sdmMmMqqq         1
ssmMMmree         1
wemMMmm12
mMMm11111
mMmMmM1121        1

因此在上面的示例数据中,我当前的公式将返回4(包含区分大小写的“ mMMm”的单元格)的计数。但是,我希望达到的数量是2(那些符合先前的标准并且与之相邻的单元格为非空白​​)。

谢谢!

1 个答案:

答案 0 :(得分:1)

编辑:

根据您在注释中的解释,使用:

=SUMPRODUCT(--(INDIRECT(C1&"!F2:F7")<>""),--(ISNUMBER(FIND("mMMm",INDIRECT(C1&"!A2:A7")))))

这假设当前工作表中的C2具有工作表名称,例如工作表1。该工作表的A列和F列是您感兴趣的那些列。您将调整范围以确保它们的长度相同


您可以使用

=SUMPRODUCT(--(B2:B7<>""),--(ISNUMBER(FIND("mMMm",A2:A7,1))))

如果在其他工作表中,则将工作表名称添加到范围的前面,例如

=SUMPRODUCT(--(B2:B7<>""),--(ISNUMBER(FIND("mMMm",Sheet1!A2:A7,1))))

如果要在列B中留空,请使用=""

同一工作表示例:

Same sheet

注意:

FindSearch不同,区分大小写。

您可以使用SUMPRODUCT处理两个数组。数组1是B列<> ""的布尔数组,数组2是A列,其中Find找到了“ mMMm”,因此返回了一个数字。它包装在ISNUMBER中,生成布尔数组。

两个布尔数组都使用1转换为它们各自的0--