Jac*_*cek 1 excel excel-formula
我有一列包含格式内容的单元格ABCDP2S6_EFGHP2Te6_X_YY.Y_ZZZ
我想用公式命令来输出CDABP2S6-GHEFP2Te6
我用谷歌搜索了一下,似乎涉及 REPLACE 和 FIND,但找不到正确的方法。
有什么帮助吗?
您可以尝试根据您的评论假设输入中每个值的长度相同:
公式为B1:
=CONCAT(MID("-"&A1,{4,2,6,1,13,11,15},{2,2,4,1,2,2,5}))
Run Code Online (Sandbox Code Playgroud)
这里我简单地使用整数数组来获取长度为 1、2、4 或 5 个字符的子字符串。为了避免有点冗长的公式和双重使用,MID()第一步是在输入中添加一个前导连字符,我们也可以在索引中引用它。这只会将所有其他字符向右移动一位;因此它们在输入中各自的位置也会改变。
根据文档,第二个参数应该告诉函数一个起始位置,而第三个参数将告诉函数从给定的起始位置开始的子字符串的长度。因此,您可以查看两个元素对数组。因此,第一个数组中的每个索引在第二个数组中的相同索引处都有一个对应项:
如果这不能描绘出清晰的图片,只需跳过我们使用前导连字符的部分并使用原始输入,如下所示:
=CONCAT(MID(A1,{3,1,5},{2,2,4}),"-",MID(A1,{12,10,14},{2,2,5}))
Run Code Online (Sandbox Code Playgroud)
如果这还不够简单,那么写出每个单独的起始位置并每次提取一个字符:
=CONCAT(MID(A1,{3,4,1,2,5,6,7,8},1),"-",MID(A1,{12,13,10,11,14,15,16,17,18},1))
Run Code Online (Sandbox Code Playgroud)
一个合理的替代方案可能是TEXTPLIT()首先输入,然后应用相同的技巧,但这次带有尾随连字符:
=CONCAT(MID(TAKE(TEXTSPLIT(A1,,"_"),2)&"-",{3,1,5},{2,2,5}))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |