|
楼主 |
发表于 2018-9-5 21:17
|
显示全部楼层
多谢EH侠圣Duquancai提供了多项选择题标准答案字符串转换为五位数的自定义函数编码方法,如下所示,这样不需罗列多项选择题的各种组合,不需使用Vlookup函数,不必担心标准答案字符串书写不规范,增加了一个大知识点。
Function getCode(ByVal s As String) As String
Dim i&, j$, arr
arr = Array("A", "B", "C", "D", "E")
For i = 0 To 4
If InStr(strconv(application.asc(s),vbuppercase), arr(i)) Then
j = j & "1"
Else
j = j & "2"
End if
Next
getCode = j
End Function
补充内容 (2018-9-9 22:20):
学VBA竞忘了工作表函数,多选题标准答案字符串转换可直接用FIND函数:
=if(isnumber(find("A",upper(asc(target)))),1,2)&if(isnumber(find("B",upper(asc(target)))),1,2)&if(isnumber(find("C",upper(asc(targe...
补充内容 (2018-9-9 22:39):
FIND函数总时找到其中一个时即停止查找,返回ISNUMBER类型数字,没找到则返回ISERR类型错误。MATCH是找到工作表中单元格的位置,FIND是找到单元格中字符串中的位置,我曾在贴吧中大声赞叹该函数的神奇,现在几乎...
补充内容 (2018-9-9 22:41):
如果字符串很长时,工作表函数与自定义函数谁的编码速度更快呢? |
|