我想将字符串代码转换为整数代码
这是我的Excel文件
Level1 Level2 Level3 Level4 Time1 Time2 Time3 Time4
A B E C 12 14 12 13
D D E C 11 17 16 9
E C C B 14 13 19 8
C E B D 11 12 10 7
B A A D 10 11 7 6
A = 4,B = 3,C = 2,D = 1,E = 0
在sheet2中获取它
Level1 Level2 Level3 Level4 Time1 Time2 Time3 Time4
4 3 0 2 12 14 12 13
1 1 0 2 11 17 16 9
0 2 2 3 14 13 19 8
2 0 3 1 11 12 10 7
3 4 4 1 10 11 7 6
答案 0 :(得分:2)
使用ASCII表和一些基本数学。
dim i as long
for i=65 to 69
worksheets("sheet1").cells.replace what:=chr(i), replacement:=(69-i)
next i
答案 1 :(得分:1)
这不像字典那样快,但是它在4列中的10,000行的时钟为1秒。
从A到D列搜索到最后一行(由A列确定)
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim SearchRange As Range: Set SearchRange = ws.Range("A2:D" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row)
Application.ScreenUpdating = False
SearchRange.Replace What:="A", Replacement:=4, LookAt:=xlWhole
SearchRange.Replace What:="B", Replacement:=3, LookAt:=xlWhole
SearchRange.Replace What:="C", Replacement:=2, LookAt:=xlWhole
SearchRange.Replace What:="D", Replacement:=1, LookAt:=xlWhole
SearchRange.Replace What:="E", Replacement:=0, LookAt:=xlWhole
Application.ScreenUpdating = True
答案 2 :(得分:0)
使用您选择的字母到数字的映射来设置任何工作表(例如Sheet2)的区域,如下所示:
+--------+-------+
| Letter | Value |
+--------+-------+
| A | 4 |
| B | 3 |
| C | 2 |
| D | 1 |
| E | 0 |
+--------+-------+
然后,假设在您的一个主要工作表上,您在单元格B3="D"
中有一个字母。您可以使用查找公式C3
将公式输入到其他单元格(可能是单元格=VLOOKUP(B3,Sheet2!A2:B10,2,FALSE)
)中。 (在这种情况下,范围A2:B10将替换为整个字母数字表的范围)。公式将返回数字值。
答案 3 :(得分:0)
在Sheet2!A2中输入此内容
=IF(ISNUMBER(Sheet1!A2),Sheet1!A2,69-CODE(Sheet1!A2))
根据需要填充/填充。