我有五列 .
E.g.
-
Column1:名称
-
第2栏:姓
-
Column3:映射
-
Column4:映射数据
列包含类似的数据
Name Surname Mapping Name1 Surname1
1 ABC 1 AAAA 3 ABC QQQQ
2 XYZ 2 XXXX 1 XYZ AAAA
3 OPQ 3 QQQQ 4 OPQ QQQQ
4 RST 4 RRRR 2 RST RRRR
现在我的目标是使用映射列将name列映射到surname,结果应存储在Name1和Surname1列中 . 我在Name和Surname列中有更多数据,通过在Mapping列中写入数字,它会自动将姓氏映射到Name(用户可以选择在映射列中输入数字,然后相应地映射数据),结果应该复制到Name1中和姓1 .
我不知道使用VBA实现这一目标 . 编码Plz帮我.....
4 回答
您是否尝试过使用Vlookups进行映射? Vlookup(Lookup_Value,Table_array,col_index_number,[range_lookup])Vlookup(firstname,您引用的姓氏列,第一个名称列的列号,false)-false用于完全匹配 - 我还粘贴了一个有用的链接下面 . 祝好运!
https://support.office.com/en-us/article/VLOOKUP-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1?ui=en-US&rs=en-US&ad=US&fromAR=1
将此公式放入映射数据行,它应该执行您想要的操作
你不需要Vlookup,只需要连接:
如果您想在姓氏前面输入数字,请使用第二个选项 .
复制和粘贴的公式:
=CONCATENATE(B2;" ";OFFSET($C$1;D2;0))
=CONCATENATE(B8;" ";RIGHT(OFFSET($C$7;D8;0);LEN(C8)-FIND(" ";C8;1)))
对不起,我没有意识到你想把它们放在同一列中,就像你上面的那样 . 连接函数有效:
http://www.gcflearnfree.org/excelformulas/using-concatenate-to-combine-names/1/
或者如果你去excel,你可以转到
data
标签,然后点击text to columns.
单击数据选项卡
单击文本到列
检查
Delimited
选择分隔数据的分隔符
修改您的列数据格式(如果它是通用的,数字等),在这种情况下它将是通用的 .
点击完成
你完成了!