比较两行中的每个单元格,但有例外

时间:2019-01-30 20:26:13

标签: google-sheets formula

我有一张表格,可记录考试成绩。它将行与某人对正确数据的答案进行比较:

         A          B     C     D      E
  +--------------+-----+-----+-----+-------+
1 |              | Q1  | Q2  | Q3  | Score |
  +--------------+-----+-----+-----+-------+
2 | Answers      | C   | B   | A   |       |
  +--------------+-----+-----+-----+-------+
3 | George       | C   | A   | B   |     1 |
4 | Judith       | C   | C   | A   |     2 |
5 | James        | A   | B   | C   |     1 |
  +--------------+-----+-----+-----+-------+

“得分”列后面的公式是:

=arrayformula(sumproduct(($B$2:$D$2=B3:D3)))

sumproduct的第一部分是对“答案”行的静态引用。第二部分是将其与所在行进行比较。但是我想添加一个例外:如果“答案”行中包含星号,则应认为所有答案正确:

         A          B     C     D      E
  +--------------+-----+-----+-----+-------+
1 |              | Q1  | Q2  | Q3  | Score |
  +--------------+-----+-----+-----+-------+
2 | Answers      | C   | *   | A   |       |
  +--------------+-----+-----+-----+-------+
3 | George       | C   | A   | B   |     2 |
4 | Judith       | C   | C   | A   |     3 |
5 | James        | A   | B   | C   |     1 |
  +--------------+-----+-----+-----+-------+

我该怎么做?

2 个答案:

答案 0 :(得分:2)

请尝试:

=arrayformula(sumproduct(($B$2:$D$2=B3:D3)+($B$2:$D$2="*")))

答案 1 :(得分:0)

=IF(OR($B$2=B3, $B$2="*"), 1, )+
 IF(OR($C$2=C3, $C$2="*"), 1, )+
 IF(OR($D$2=D3, $D$2="*"), 1, )


这将涵盖多达51个问题(B:AZ的列/范围)

=IF(LEN($B$2),IF(OR($B$2=B3,$B$2="*"),1,),)+
 IF(LEN($C$2),IF(OR($C$2=C3,$C$2="*"),1,),)+
 IF(LEN($D$2),IF(OR($D$2=D3,$D$2="*"),1,),)+
 IF(LEN($E$2),IF(OR($E$2=E3,$E$2="*"),1,),)+
 IF(LEN($F$2),IF(OR($F$2=F3,$F$2="*"),1,),)+
 IF(LEN($G$2),IF(OR($G$2=G3,$G$2="*"),1,),)+
 IF(LEN($H$2),IF(OR($H$2=H3,$H$2="*"),1,),)+
 IF(LEN($I$2),IF(OR($I$2=I3,$I$2="*"),1,),)+
 IF(LEN($J$2),IF(OR($J$2=J3,$J$2="*"),1,),)+
 IF(LEN($K$2),IF(OR($K$2=K3,$K$2="*"),1,),)+
 IF(LEN($L$2),IF(OR($L$2=L3,$L$2="*"),1,),)+
 IF(LEN($M$2),IF(OR($M$2=M3,$M$2="*"),1,),)+
 IF(LEN($N$2),IF(OR($N$2=N3,$N$2="*"),1,),)+
 IF(LEN($O$2),IF(OR($O$2=O3,$O$2="*"),1,),)+
 IF(LEN($P$2),IF(OR($P$2=P3,$P$2="*"),1,),)+
 IF(LEN($Q$2),IF(OR($Q$2=Q3,$Q$2="*"),1,),)+
 IF(LEN($R$2),IF(OR($R$2=R3,$R$2="*"),1,),)+
 IF(LEN($S$2),IF(OR($S$2=S3,$S$2="*"),1,),)+
 IF(LEN($T$2),IF(OR($T$2=T3,$T$2="*"),1,),)+
 IF(LEN($U$2),IF(OR($U$2=U3,$U$2="*"),1,),)+
 IF(LEN($V$2),IF(OR($V$2=V3,$V$2="*"),1,),)+
 IF(LEN($W$2),IF(OR($W$2=W3,$W$2="*"),1,),)+
 IF(LEN($X$2),IF(OR($X$2=X3,$X$2="*"),1,),)+
 IF(LEN($Y$2),IF(OR($Y$2=Y3,$Y$2="*"),1,),)+
 IF(LEN($Z$2),IF(OR($Z$2=Z3,$Z$2="*"),1,),)+
 IF(LEN($AA$2),IF(OR($AA$2=AA3,$AA$2="*"),1,),)+
 IF(LEN($AB$2),IF(OR($AB$2=AB3,$AB$2="*"),1,),)+
 IF(LEN($AC$2),IF(OR($AC$2=AC3,$AC$2="*"),1,),)+
 IF(LEN($AD$2),IF(OR($AD$2=AD3,$AD$2="*"),1,),)+
 IF(LEN($AE$2),IF(OR($AE$2=AE3,$AE$2="*"),1,),)+
 IF(LEN($AF$2),IF(OR($AF$2=AF3,$AF$2="*"),1,),)+
 IF(LEN($AG$2),IF(OR($AG$2=AG3,$AG$2="*"),1,),)+
 IF(LEN($AH$2),IF(OR($AH$2=AH3,$AH$2="*"),1,),)+
 IF(LEN($AI$2),IF(OR($AI$2=AI3,$AI$2="*"),1,),)+
 IF(LEN($AJ$2),IF(OR($AJ$2=AJ3,$AJ$2="*"),1,),)+
 IF(LEN($AK$2),IF(OR($AK$2=AK3,$AK$2="*"),1,),)+
 IF(LEN($AL$2),IF(OR($AL$2=AL3,$AL$2="*"),1,),)+
 IF(LEN($AM$2),IF(OR($AM$2=AM3,$AM$2="*"),1,),)+
 IF(LEN($AN$2),IF(OR($AN$2=AN3,$AN$2="*"),1,),)+
 IF(LEN($AO$2),IF(OR($AO$2=AO3,$AO$2="*"),1,),)+
 IF(LEN($AP$2),IF(OR($AP$2=AP3,$AP$2="*"),1,),)+
 IF(LEN($AQ$2),IF(OR($AQ$2=AQ3,$AQ$2="*"),1,),)+
 IF(LEN($AR$2),IF(OR($AR$2=AR3,$AR$2="*"),1,),)+
 IF(LEN($AS$2),IF(OR($AS$2=AS3,$AS$2="*"),1,),)+
 IF(LEN($AT$2),IF(OR($AT$2=AT3,$AT$2="*"),1,),)+
 IF(LEN($AU$2),IF(OR($AU$2=AU3,$AU$2="*"),1,),)+
 IF(LEN($AV$2),IF(OR($AV$2=AV3,$AV$2="*"),1,),)+
 IF(LEN($AW$2),IF(OR($AW$2=AW3,$AW$2="*"),1,),)+
 IF(LEN($AX$2),IF(OR($AX$2=AX3,$AX$2="*"),1,),)+
 IF(LEN($AY$2),IF(OR($AY$2=AY3,$AY$2="*"),1,),)+
 IF(LEN($AZ$2),IF(OR($AZ$2=AZ3,$AZ$2="*"),1,),)

,这是"Formula Generator"个工作表