我有一个看起来像这样的字符串:
015-02-1-1
我想将“015”替换为“019”。 但String也可以是:
016-14-5-7
在这种情况下,“016”应替换为“018”
以下是应替换的所有值的列表:
015 => 019
016 => 018
018 => 016
019 => 020
020 => 021
021 => 022
022 => 023
023 => 024
字符串的其余部分(第一个破折号之后的所有内容)应该保持不变。这可以使用公式实现,还是需要VBA?
如果是这样,那个公式怎么样?
答案 0 :(得分:0)
这是一个假设您的数据在单元格G1中开始的公式:
=LEFT(G1,1)&IF(MID(G1,2,2)="15",19,IF(MID(G1,2,2)="16",18,IF(MID(G1,2,2)="18",16,IF(MID(G1,2,2)="19",20,IF(MID(G1,2,2)="20",21,IF(MID(G1,2,2)="21",22,IF(MID(G1,2,2)="22",23,IF(MID(G1,2,2)="23",24,""))))))))&RIGHT(G1,LEN(G1)-3)
如何工作,找到字符串的第一个字符(G1,1)
使用嵌套ifs更改值,使用mid查找我们想要更改的值,因为字符串被视为文本,我们必须使用“”来引用值。
然后将其余的字符串添加回来,找到G1字符串的长度,然后减去len,此值用于查找字符串的最右侧字符以将它们连接在一起。
答案 1 :(得分:0)
你也可以选择像这样的查找方法
=IFERROR(HLOOKUP(LEFT(A1,3),{"015","016","018","019","020","021","022","023";"019","018","016","020","021","022","023","024"},2,FALSE),LEFT(A1,3))&RIGHT(A1,LEN(A1)-3)
使用 Ctrl Shift 输入
作为数组公式输入