Excel:如何基于单元格的第一个字符和最后4个字符创建新值?

Excel:如何基于单元格的第一个字符和最后4个字符创建新值?,excel,excel-formula,Excel,Excel Formula,所以我想在excel中找到一个单细胞公式的解决方案 列中的数字为5位,以4或7开头 问:根据数字是以4还是7开头,数字必须在另一列中转换,以反映取代4或7的字母 示例:单元格A1包含41234,因此我希望B1自动将其转换为AA1234,单元格A2包含71234,B2应反映BB1234 这在不使用宏的情况下可行吗?也许是一个很长的公式?试试 =choose(--left(a1), "", "", "", "AA", "", "", "BB")&mid(a1, 2, len(a1)) 从您

所以我想在excel中找到一个单细胞公式的解决方案

列中的数字为5位,以4或7开头

问:根据数字是以4还是7开头,数字必须在另一列中转换,以反映取代4或7的字母

示例:单元格A1包含41234,因此我希望B1自动将其转换为AA1234,单元格A2包含71234,B2应反映BB1234

这在不使用宏的情况下可行吗?也许是一个很长的公式?

试试

=choose(--left(a1), "", "", "", "AA", "", "", "BB")&mid(a1, 2, len(a1))

从您的示例中,尝试:

=CHOOSE(FIND(LEFT(A1),"47"),"AA","BB")&RIGHT(A1,LEN(A1)-1)

我想我更喜欢选择,但我的Excel fu不够。这是另一种选择
=IF(左(A1,1)=“4”,CONCAT(“AA”,右(A1,4)),IF(左(A1,1)=“7”,CONCAT(“BB”,右(A1,4))
另一个版本:

=IF(LEFT(A1)="4","AA",IF(LEFT(A1)="7","BB",""))&RIGHT(A1,LEN(A1)-1)

您可以使用看起来稍微好一点的
“AA”和右(A1,4)
,而不是
CONCAT(“AA”,RIGHT(A1,4))
。在其他软件中使用串联很容易忘记更简单的组合。他可能最好使用
NA()
因此,通过错误而不是潜在的无效结果生成无效条目。Op没有指定所需的异常处理,因此可能没有实际意义。@chrisneilsen-有效点,但我会让Op决定,所以请留下您的评论。我选择这种方法的主要目的是向OP展示如何轻松地添加额外的替换。这太棒了!如果你想解释的话,我只是好奇“47”在逻辑中是如何工作的。
FIND
查找单元格中的第一个数字并返回其在字符串“47”中的位置。如果是4,则返回1;如果是7,则返回2;任何其他内容都会返回一个错误<代码>选择然后使用此数字(1或2)分别在“AA”和“BB”之间进行选择。另外,我刚刚注意到
LEFT(A1,1)
可以简化为
LEFT(A1)
。编辑。