我有一个带有未知数量案例的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] + "*\")";
  }
}

09-25 15:50