宏 Excel 2007 - 提取数据

宏 Excel 2007 - 提取数据

我正在尝试从单元格中提取某些数据,并将其放在同一单元格内的其他位置。有什么建议吗?

编辑

我在一个单元格中有几个文本字符串(日期、零件编号和颜色)。格式如下 100906 PBO5 BLUE。日期的字符数始终相同,但零件编号可以是 2、3 或 4 个字符。

我想将日期移动到颜色后面的位置,使其看起来像 PBO5 BLUE 100906。我有超过 1,000 条记录,所以我不想手动执行此操作。

答案1

您可以在包含数据的列旁边插入新列,然后使用规则拆分单元格。请参阅函数:

Data > Text to column

在菜单栏中,选择“空格”作为分隔符。然后,您可以使用连接函数按所需顺序连接单元格

 =CONCATENATE(E2,"-",F2)

要了解如何使用宏执行此操作,请单击“录制宏按钮”,然后检查生成的代码。

答案2

马丁,

这是一种替代方法,使用 MID 和 LEFT 函数。

仅就此示例而言,我们假设您的数据在 A 列。如果您在相邻的 B 列中执行以下公式:

 = MID(A1,8,100) & " " & LEFT(A1,6)

然后将其复制到下面所有剩余的单元格,则 B 列右侧应该有日期。

我希望这有帮助。

答案3

您没有提到颜色是否始终为 4 个字母。假设是,则无论零件编号是 2、3 还是 4(输入在单元格 A1 中),以下公式都会给出所需的结果。

=RIGHT(A1,LEN(A1)-FIND(" ",A1))&" "&LEFT(A1,6)

以下是输入和输出的示例:

Input              Output
100906 PBO5 BLUE    PBO5 BLUE 100906
100906 PB5 BLUE  PB5 BLUE 100906
100906 P5 BLUE    P5 BLUE 100906

相关内容