无需 6 个助手即可将输入替换为另一个输入
Replace input with another one without the need of 6 helpers
任何人都可以对以下内容有所了解:我能够得到预期的结果,但我需要 6 个帮手,这太多了:
电子表格:here
所以我有例如以下输入:21-FI-3040506.High
,所需的输出将是:21-FAH-3040506
为此,我使用了 6 个助手:
First: 提取点后的内容
=INDEX(SPLIT(A2, "."), , 2)
Second:提取第二个破折号和点之间的内容(大多数时候是 7 位数字,但在少数情况下它后面跟一个字母,如 3040570A)
=INDEX(SPLIT(INDEX(SPLIT(A2, "."), , 1),"-"), , 3)
第三:第二个助手的条件:=IF(B2="High","AH",If(B2="HighHigh","AHH",IF(B2="Low","AL",If(B2="LowLow","ALL","A"))))
第四步: 提取两个破折号之间的内容
=INDEX(SPLIT(A2, "-"), , 2)
Fifth:有条件替补3号帮手
=IF(D2="A",SUBSTITUTE(E2,"I","T"), SUBSTITUTE(E2,"I",D2))
第六: 提取第一个破折号前的数字
=INDEX(SPLIT(A2, "-"), , 1)
然后我会连接不同的结果以获得所需的结果。
=IF(D2="A",CONCATENATE(G2,"-",F2,"-",C2,".",B2),CONCATENATE(G2,"-",F2,"-",C2))
谁能帮我简化任务,非常感谢
使用:
=ARRAYFORMULA(IFERROR(IF(
REGEXMATCH(A2:A, "Fail"),
REGEXREPLACE(A2:A, "I-", "T-"),
REGEXEXTRACT(A2:A, "\d+")&"-"&
REGEXEXTRACT(A2:A, "\d+-(.+)I-")&"A"&
REGEXREPLACE(REGEXEXTRACT(A2:A, "\.(.+)"), "[a-z]+", )&"-"&
REGEXEXTRACT(A2:A, "-(\d+.?|\d+-\d+)\."))))
任何人都可以对以下内容有所了解:我能够得到预期的结果,但我需要 6 个帮手,这太多了:
电子表格:here
所以我有例如以下输入:21-FI-3040506.High
,所需的输出将是:21-FAH-3040506
为此,我使用了 6 个助手:
First: 提取点后的内容
=INDEX(SPLIT(A2, "."), , 2)
Second:提取第二个破折号和点之间的内容(大多数时候是 7 位数字,但在少数情况下它后面跟一个字母,如 3040570A)
=INDEX(SPLIT(INDEX(SPLIT(A2, "."), , 1),"-"), , 3)
第三:第二个助手的条件:=IF(B2="High","AH",If(B2="HighHigh","AHH",IF(B2="Low","AL",If(B2="LowLow","ALL","A"))))
第四步: 提取两个破折号之间的内容
=INDEX(SPLIT(A2, "-"), , 2)
Fifth:有条件替补3号帮手
=IF(D2="A",SUBSTITUTE(E2,"I","T"), SUBSTITUTE(E2,"I",D2))
第六: 提取第一个破折号前的数字
=INDEX(SPLIT(A2, "-"), , 1)
然后我会连接不同的结果以获得所需的结果。
=IF(D2="A",CONCATENATE(G2,"-",F2,"-",C2,".",B2),CONCATENATE(G2,"-",F2,"-",C2))
谁能帮我简化任务,非常感谢
使用:
=ARRAYFORMULA(IFERROR(IF(
REGEXMATCH(A2:A, "Fail"),
REGEXREPLACE(A2:A, "I-", "T-"),
REGEXEXTRACT(A2:A, "\d+")&"-"&
REGEXEXTRACT(A2:A, "\d+-(.+)I-")&"A"&
REGEXREPLACE(REGEXEXTRACT(A2:A, "\.(.+)"), "[a-z]+", )&"-"&
REGEXEXTRACT(A2:A, "-(\d+.?|\d+-\d+)\."))))