我有一个带有未知数量案例的switch语句。在案例1之后,每个案例都输出相同的公式。公式中的唯一区别是RationaleLabels数组中的数字。在情况2中,它从RationaleLabels [0]开始;那么在第3种情况下,它是reasoneLabels [1];案例4-RationaleLabels [2];等等。有没有一种方法可以设置默认大小写,如果发生大小写,则可以增加RationaleLabel数组中的数字?
for(i = 0; i < drugs.length; i++){
rationaleTable[i] = [];
for(j = 0; j < rationaleLabel.length; j++){
switch(j){
case 0:
rationaleTable[j] = drugs[i];
break;
case 1:
rationaleTable[j] = drugs[i];
break;
case 2:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[0] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
case 3:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[1] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
case 4:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[2] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
case 5:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[3] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
case 6:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[4] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
case 7:
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[5] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
break;
}
}
}
最佳答案
这可能起作用:
for(j = 0; j < rationaleLabel.length; j++){
if(j==0 || j==1) {
rationaleTable[j] = drugs[i];
} else {
rationaleTable[j] = "=COUNTIFS('All Events'!$D:$D,\"*" + rationaleLabels[j -2 ] + "*\" , 'All Events;!$E:$E,\"" + drugs[i] + "*\")";
}
}