2015-09-30 106 views
1

我有一個帶有'|'的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 

現在我想的經理的名字與ToBeReplaced每個用戶的列值來代替。即

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. 如果所有經理的名字被替換,仍然更多的用戶剩餘,那麼它應該再次從Manager1開始。

任何人都可以幫助我一個Excel公式或什麼來獲得所需的結果?

回答

1

像這樣的東西?
Sample

列A是您的文本字符串。
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)

+0

如何*,那麼它應該開始再次來自Manager1 *。 – pnuts

+0

對不起,我不太明白這一步需要做什麼,更清楚前後是否有。 OP是否意味着像'20120615 | Manager1 | mak || ToBeReplaced | 20150114'? – PatricK

+0

顯然我不是:)但OP看起來很開心,所以沒關係。通常情況下,印地安人比酋長人多,所以我期望在耗盡用戶之前就會耗盡管理人員,即在某些時候需要將高用戶數量分配給低數量的經理 - 重新啓動週期。 – pnuts

0

分裂的文本分列與豎線作爲分隔符,然後假設第一user1是在B2和與E1 0你可能會放在E2:

=IF(B1=B2,E1,"Manager"&RIGHT(E1,1)+1+IF(RIGHT(E1,1)="4",-4)) 

複製下來,以適應,然後使用輸出從另一張表格中查找表格中的實際名稱。

相關問題