Excel 如何根据用户创建新字符串';输入字符串
Excel专家,如何根据用户的输入字符串创建新字符串 假设在一个单元格中,用户输入字符串“15324”,映射规则为:Excel 如何根据用户创建新字符串';输入字符串,excel,excel-formula,Excel,Excel Formula,Excel专家,如何根据用户的输入字符串创建新字符串 假设在一个单元格中,用户输入字符串“15324”,映射规则为: '1'->'A' '2'->'B' '3'->'C' '4'->'D' '5'->'E' 如何在目标单元格中自动生成“AECBD” 如果我们只使用EXCEL的函数,而不使用VBA或其他脚本,这将是最好的 提前非常感谢。由于没有循环选项,任何公式都会有大量重复 要使公式不那么冗长,请创建一个命名范围,将其称为“字母表”,并为其指定字符串值=“abcd
'1'->'A'
'2'->'B'
'3'->'C'
'4'->'D'
'5'->'E'
如何在目标单元格中自动生成“AECBD”
如果我们只使用EXCEL的函数,而不使用VBA或其他脚本,这将是最好的
提前非常感谢。由于没有循环选项,任何公式都会有大量重复 要使公式不那么冗长,请创建一个命名范围,将其称为“字母表”,并为其指定字符串值
=“abcdefghijklmnopqstuvxyz”
以下模型可以扩展到更多字符。输入可以是数字或字符串,并且可以是五个或更少的字符:
=MID(Alphabet,MID(A1,1,1),1)&
IF(LEN(A1)>=2,MID(Alphabet,MID(A1&"",2,1),1),"")&
IF(LEN(A1)>=3,MID(Alphabet,MID(A1&"",3,1),1),"")&
IF(LEN(A1)>=4,MID(Alphabet,MID(A1&"",4,1),1),"")&
IF(LEN(A1)>=5,MID(Alphabet,MID(A1&"",5,1),1),"")
您可以尝试:
=CHAR(LEFT(A1,1)+64)&CHAR(MID(A1,2,1)+64)&CHAR(MID(A1,3,1)+64)&CHAR(MID(A1,4,1)+64)&CHAR(MID(A1,5,1)+64)
如果需要,可以扩展到8个字符(并且所有字符都存在)。这是一个只能在Google工作表中使用的解决方案,因此不能满足您在Excel中使用的偏好 假设您的查找表是C:D格式的(尽管如果您愿意,可以将该表硬编码到公式中)。如果在该查找表中未找到任何字符,则将返回#N/A错误
=ArrayFormula(串联(中间(A1,行(偏移量($A$1,,,LEN(A1),1)),1),C:D和“”,2,0))
注意:公式中的$A$1必须保留为该引用(或至少是第1行中的一个单元格)。如果A1中的值为:1234332 A1中字符串的长度可以是任意长度
在B1中输入公式:=arrayformula(join(“”字符(中间(A1;行(偏移量($1;0;0;len(A1);1));1)+96))用户输入多少个字符?使用公式时,需要查找每个字符并连接结果。这将是一个冗长而难看的公式,因为在公式中无法循环数组。不多,大约10个左右,我可以将映射表放在某个地方使用查找。对我来说,最困难的部分是如何循环输入字符串中的字符…只是确认一下,你对一个只在Google工作表中工作的解决方案不感兴趣?嗨,AdamL,最好在Google电子表格和Excel中都能工作谢谢,Excel真的不允许我们循环字符串吗?不。公式中没有循环。你需要VBA。