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

问题描述 投票:-1回答:4

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

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

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

如何在目标单元格中​​自动生成“AECBD”。

如果我们只使用EXCEL的功能而不使用VBA或其他脚本,那将是最好的。

非常感谢你提前。

excel excel-formula
4个回答
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行中的单元格)。


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

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


0
投票

如果在A1中是值:1234332

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

在B1中放入公式:= arrayformula(join(“”; char(mid(A1; row(offset($ A $ 1; 0; 0; len(A1); 1)); 1)+96)))

© www.soinside.com 2019 - 2024. All rights reserved.