如何根据用户的输入字符串创建新字符串

时间:2014-10-07 22:13:05

标签: excel excel-formula

Excel专家,如何根据用户的输入字符串

创建新字符串

在一个单元格中说,用户输入字符串' 15324',映射规则为:

'1'->'A'
'2'->'B'
'3'->'C'
'4'->'D'
'5'->'E'

如何自动生成AECBD'在目标细胞中。

最好只使用EXCEL的功能而不使用VBA或其他脚本。

非常感谢你。

4 个答案:

答案 0 :(得分:1)

这是一个仅适用于Google表格的解决方案,因此无法实现您在Excel中工作的偏好。

假设您的查找表位于C:D中(尽管如果您愿意,该表可以硬编码到公式中)。如果在该查找表中找不到任何字符,将返回#N / A错误。

=ArrayFormula(CONCATENATE(VLOOKUP(MID(A1,ROW(OFFSET($A$1,,,LEN(A1),1)),1),C:D&"",2,0)))

注意:公式中的$ A $ 1必须保留为该引用(或至少是第1行中的单元格)。

答案 1 :(得分:0)

没有循环选项,任何公式都会进行大量的重复。

为了使公式不那么冗长,创建一个命名范围,称之为" Alphabet"并为其指定字符串值="ABCDEFGHIJKLMNOPQSTUVWXYZ"

以下型号可扩展为更多字符。输入可以是数字或字符串,可以是五个或更少的字符:

=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),"")

答案 2 :(得分:0)

您可以尝试:

=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个字符(并且都存在)。

答案 3 :(得分:0)

如果A1中的值是:1234332

A1中字符串的长度可以是任意长度。

将B1放入公式:= arrayformula(join("&#34 ;; char(mid(A1; row(offset($ A $ 1; 0; 0; len(A1); 1)); 1)96)))