列值将被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 

这应该继续为所有的用户取代,用例是

  1. 如果所有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)) 

复制下来以适应,然后使用输出从另一张表中查找表中的实际名称。