每个单元在比较两行,但一个例外

问题描述 投票:0回答:2

我有一个跟踪分数从测试表。据该行与别人的答案与正确的数据行进行比较:

         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 |
  +--------------+-----+-----+-----+-------+

Score列后面的公式为:

=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 |
  +--------------+-----+-----+-----+-------+

我怎么能做到这一点?

google-sheets formula
2个回答
2
投票

请试试:

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

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"

© www.soinside.com 2019 - 2024. All rights reserved.