列值将被replace为另一列的值
我有一个Excel文件“|” 分隔值:
20120615|User 1|mak||ToBeReplaced|20150114 20120615|User 1|mak||ToBeReplaced|20150115 20120615|User 1|mak||ToBeReplaced|20150116 20120615|User 2|mak||ToBeReplaced|20150114 20120615|User 2|mak||ToBeReplaced|20150115 20120615|User 2|mak||ToBeReplaced|20150116 20120615|User 3|mak||ToBeReplaced|20150114 20120615|User 3|mak||ToBeReplaced|20150115 20120615|User 3|mak||ToBeReplaced|20150116
我也有另一个Excel电子表格,其中包含所有经理的名称。 例如
Manager1 Manager2 Manager3 Manager4
现在我想要用每个用户的列值ToBeReplacereplacepipe理器名称。 即
20120615|User 1|mak||Manager1|20150114 20120615|User 1|mak||Manager1|20150115 20120615|User 1|mak||Manager1|20150116 20120615|User 2|mak||Manager2|20150114 20120615|User 2|mak||Manager2|20150115 20120615|User 2|mak||Manager2|20150116 20120615|User 3|mak||Manager3|20150114 20120615|User 3|mak||Manager3|20150115 20120615|User 3|mak||Manager3|20150116
这应该继续为所有的用户取代,用例是
- 如果所有pipe理员名称都被replace,并且仍有更多用户,则应从Manager1重新启动。
任何人都可以帮助我一个Excel公式或什么来获得所需的结果?
像这样的东西?
列A是您的文本string。
B2公式: User
(在空白处结尾)
C2公式: =MID(A2,SEARCH(B2,A2)+LEN(B2),SEARCH("|mak|",A2)-SEARCH(B2,A2)-LEN(B2))
D2公式: ToBeReplaced
E2公式: =CONCATENATE("Manager",C2)
F2公式: =REPLACE(A2,SEARCH(D2,A2),LEN(D2),E2)
将文本分割为以pipe为分隔符的列,然后假设第一个user1
在B2中,在E1中为0
,那么您可以放入E2:
=IF(B1=B2,E1,"Manager"&RIGHT(E1,1)+1+IF(RIGHT(E1,1)="4",-4))
复制下来以适应,然后使用输出从另一张表中查找表中的实际名称。