如何获取两张纸之间连续不匹配的单元格的计数?

时间:2019-08-30 12:56:42

标签: if-statement google-sheets google-sheets-formula array-formulas google-sheets-query

我有两张纸,一张纸A包含一个真值表,如下所示:

    A B C D E
Foo T F F T F
Bar T F F F F

表B包含另一个表:

A B C D E
T F F T F

我需要在表A中添加一列,以计算与表B中的对应单元格相匹配的单元格数,例如:

Foo T F F T F 2
Bar T F F F F 1

最好的第一个计数单元是

=COUNTIF(B2:F2,B2:F2=INDIRECT("sheet-b!A2:E2"))

但这给了我0,即使应该是2。

编辑: 我能够想到这一点,它可以正确计算出不同单元格的数量:

=SUM(ARRAYFORMULA(IF(B2:F2=INDIRECT("sheet-b!A2:E2"),1,0)))

我接下来想要做的是添加一个AND语句,并对匹配的单元格或sheet-b单元格为F的单元格进行计数:

=SUM(ARRAYFORMULA(IF(AND("F"=INDIRECT("sheet-b!A2:E2"),B5:F5=INDIRECT("sheet-b!A2:E2")),1,0)))

但是,似乎我不能在此公式中使用AND语句。甚至以下给出的总和为零:

=SUM(ARRAYFORMULA(IF(AND(TRUE,B2:F2=INDIRECT("sheet-b!A2:E2")),1,0)))

怎么来?

Edit2 Link to example spreadsheet

2 个答案:

答案 0 :(得分:1)

  

如何获取两张纸之间连续不匹配的单元格的计数

 =ARRAYFORMULA(IF(LEN(A2:A), 
 MMULT(IF(B2:F='sheet-b'!A2:E2, 0, 1), TRANSPOSE(COLUMN(B2:F2)^0)), ))

0

答案 1 :(得分:-1)

尝试:

=ARRAYFORMULA(IF(A1:A<>"", COUNTIFS(TRIM(
 TRANSPOSE(QUERY(TRANSPOSE(Sheet2!J1:N),,999^99))),
 TRANSPOSE(QUERY(TRANSPOSE(B1:F)       ,,999^99))), ))

0