在excel中拆分混合字符串

时间:2018-02-07 22:04:24

标签: excel

我有一个棘手的问题。工作中有一个巨大的长列包含具有以下格式的混合字符串:

ue6584
th45
hur4562243

所以这是非常不规则的,唯一的规律是它以字母开头,以数字结尾。我需要在每个单元格中拆分字符串,以便:

ue6584             —> ue 6584
th45                 —> th 45
hur4562243     —> hur 4562243

因此,单元格分为两列,一列仅包含字母,另一列仅包含数字。到目前为止,我认为这在excel中是不可能的。

有人可以帮忙吗?

提前谢谢你, Dritan

2 个答案:

答案 0 :(得分:3)

或者您可以使用内置函数的简单技巧:

  • =LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))-1) - 用于字符串部分;
  • =RIGHT(A1,LEN(A1)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))+1) - 数字部分;

enter image description here

答案 1 :(得分:0)

你可能需要VBA,所以我创建了一个UDF(加上它给了我一个借用RegEx的借口)。

首先,将RegEx引用添加到VBEditor。有关如何执行此操作,请参阅Step 1 from this post

然后将这些添加到工作簿中的模块:

data dates;
  input obs datestr :$11.;
  date1 = input(datestr,mmddyy10.);
  date2 = input(datestr,ddmmyy10.);
  format date1 date2 date9. ;
cards;
1   06/10/1949
2   01/07/1952
3   02/10/1947
;

最后,只需调用每个函数:

enter image description here