首页 > 解决方案 > 如何通过 VBA 使用来自另一列的信息在 Excel 2013 中创建列?

问题描述

我在 Excel 2013 中有一个列(比如MyOriginalColumn ),包括 300 多行(假设是OriginalData ),其中 3 列作为下面的示例给出:

CN=myCN1,OU=Workstation,OU=123 (Edmonton),OU=Canada,OU=Company1,OU=Domain Computer,DC=xyz,DC=local
CN=myCN2,OU=Local Server,OU=Germany,OU=Company2,DC=xyz,DC=local
CN=myCN3,OU=Disabled,DC=xyz,DC=local
...

我们知道一行的 OU 值的最大数量是 5。我想要做的是将 OU 列添加到 excel 中。输出应如下所示:

MyOriginalcolumn    OU1            OU2               OU3       OU4         OU5
OriginalData        Workstation    123 (Edmonton)    Canada    Company1    Domain Computer
OriginalData        Local Server   Germany           Company2  
OriginalData        Disabled 
...

我通过 C# 从 excel 读取数据来做到这一点,但我想知道是否有任何方法可以通过 Excel 脚本直接在 Excel 中执行它。

任何帮助,将不胜感激。

标签: excelvbaexcel-formulaexcel-2013

解决方案


将您的数据从 A2 开始,将其放入 B2:

=TRIM(MID(SUBSTITUTE(MID($A2,FIND(",OU=",$A2)+4,FIND(",DC=",$A2)-FIND(",OU=",$A2)-4),",OU=",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))

并上下复制。

在此处输入图像描述


推荐阅读