所以我有13个二进制值,我称之为b_1 ... b_13,并且基于这些值,我想要将我称之为indic_j的东西设置为先前定义的名为inf_j的字符串,或者根本没有。是否可以在不使用13“If ...”语句的情况下执行此操作?我试过的是
inf_1 = "aaaaa"
inf_2 = "bbbbb"
...等等定义了13个infs,其中aaaaa,bbbbb等是我想要选择的表中列的名称
FOR j = 1 to 13
IF b_j = 1 THEN "indic_"+j = inf_j + ",";
ELSE "indic_"+j = ""
ENDIF
ENDFOR
此外,在此之前我还没有介绍任何名为indic_1,indic_2等的内容。这需要吗?谢谢!
编辑: 我的最终目标是将选定的列转移到excel。我没有使用预定列进行此类问题,但我不确定如何仅允许选定的列。
我尝试过使用13个IF语句,但是我的运算符/操作数类型不匹配。我的代码目前是
IIF(b_1 = 1, indic_1 = inf_1 + ",",indic_1 = "")
IIF(b_2 = 1, indic_1 = inf_2 + ",",indic_1 = "")
IIF(b_3 = 1, indic_1 = inf_3 + ",",indic_1 = "")
等13次,然后
SELECTIONRANG = indic_1 + indic_2 + indic_3 + indic_4 + indic_5 + indic_6 +indic_7 + indic_8 + indic_9 + indic_10 + indic_11 + indic_12 + indic_13
SELECTIONRANGE = LEFT(SELECTIONRANG,LEN(Selectionrang)-1)
答案 0 :(得分:0)
您可以将变量名创建为字符串,并与&结合使用 为:
column1 column2 column3
1: 1.0 A AA
2: 1.1 <NA> <NA>
3: 1.2 B BB
4: 1.3 <NA> <NA>
5: 1.4 <NA> <NA>
6: 1.5 C CC
7: 1.6 <NA> <NA>
8: 1.7 <NA> <NA>
9: 1.8 <NA> <NA>
10: 1.9 D DD