excel - 提取某些其他字符之后的字符 Excel

标签 excel

我有一个单元格列表,看起来或多或少像这样:

  • ARB:d.p.1-4-12
  • ANT:d.p.1-12-1
  • D:d.p.1-1-1
  • ONN:d.p.4-2-12

我试图弄清楚如何从这些字符串中提取某些关键元素。 如果我们以第一个条目为例,这就是我想要提取并显示在另一个单元格中的内容:

ARB d 1

我想要“:”之前的所有字符,然后是“:”之后的第一个字符和第一个数字(或第一个“-”之前的一个字符)。

我已经尝试过 TRIM、LEFT/RIGHT 和 FIND - 但不知道如何只获取某个字符之后/之前的一个字符。这是我尝试过的,但不知道如何将输出限制为仅一个字符:

TRIM(LEFT(E5;FIND(":";E5)-1))

预先感谢您的任何指示或提示:-)

更新,开始工作:

我最终使用了这段代码,它是根据 jiggle 的建议进行调整的。

=TRIM(LEFT(E2;FIND(":";E2)-1)) & RIGHT(MID(E2;FIND(":";E2);2);1) & RIGHT(MID(E2;FIND("p.";E2);3);1)

这给了我以下输出: ARBd1

现在我只需要添加一些分隔符就可以了。感谢您的所有帮助。

最佳答案

查找第一部分:=LEFT(E5,FIND(":",E5)-1)

查找第二部分:=MID(E5,FIND(":",E5)+1,1)

= MID(文本、Start_num、Num_chars)

所以我们从“:”后面的字符开始,在 FIND 中添加 1

最后取 1 个字符

查找最后一部分:=MID(E5,FIND("-",E5)-1,1)

与第二部分进行类似的操作,但现在从“-”之前的字符开始,从我们找到的位置减去 1,并再次只取 1 个字符

要将它们组合在一起,只需使用连接字符“&”和空格即可:

=LEFT(E5,FIND(":",E5)-1)&""&MID(E5,FIND(":",E5)+1,1) & ""& MID(E5, FIND("-",E5)-1,1)

已编辑,用分号替换逗号(针对不同的文化):

=LEFT(E5;FIND(":";E5)-1)&" "&MID(E5;FIND(":";E5)+1;1) & " " & MID(E5;FIND("-";E5)-1;1)

关于excel - 提取某些其他字符之后的字符 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21674222/

相关文章:

vba - Excel VBA 范围计算

excel - 如何使用 Python 将 .xlsm(启用宏的 Excel 文件)转换为 .xlsx?

vba - 如何根据条件使用整列的vb代码

excel - 如何将制表符值复制到vba中的单元格

arrays - UDF 中变量的动态数量

sql-server - EXCEL SQL SELECT 无法识别 ThisWorkBook 中的字段名称

excel - Case 语句 - 根据条件值隐藏/取消隐藏

php - jQuery 发布并导出到 XLS 文件

vba - 嵌套的 For 循环 'with...end with'

algorithm - 游泳混合泳接力时间模拟算法