不使用VBA,而只是簡單的excel,誰能幫我找到解決這個問題的方法?將不勝感激!
我在表 1中有一個名稱串列,如下所示
| - | 一個 |
|---|---|
| 1 | sp_abc_瑞克 |
| 2 | sp_abc_Jabba_the _ |
| 3 | sp_abc_丹妮 |
| 4 | sp_random_瑞克 |
| 5 | sp_random_Jabba_the _ |
| 6 | sp_random_丹妮 |
| 7 | sp_constant |
| 8 | sp_ripley_art_丹妮 |
| 9 | sp_ripley_art_Jabba_the _ |
| 10 | sp_wakeup |
我在表 2中有一個映射表串列,如下所示
| - | 一個 | 乙 |
|---|---|---|
| 1 | 瑞克 | 莫蒂 |
| 2 | 賈巴 | 赫特 |
| 3 | 丹妮 | 龍 |
我希望在B 列的Sheet 1中有一個結果,如下所示
| - | 一個 | 乙 |
|---|---|---|
| 1 | sp_abc_瑞克 | sp_abc_莫蒂 |
| 2 | sp_abc_Jabba_the _ | sp_abc_赫特 |
| 3 | sp_abc_丹妮 | sp_abc_龍 |
| 4 | sp_random_瑞克 | sp_random_莫蒂 |
| 5 | sp_random_Jabba_the _ | sp_random_赫特 |
| 6 | sp_random_丹妮 | sp_random_龍 |
| 7 | sp_constant | sp_constant |
| 8 | sp_ripley_art_丹妮 | sp_ripley_art_龍 |
| 9 | sp_ripley_art_Jabba_the _ | sp_ripley_art_赫特 |
| 10 | sp_wakeup | sp_wakeup |
為您提供行數的背景關系。表 1 將更大,超過 1000 行。作業表 2(映射表)是一組不變的行。目前它大約有 100 行。
uj5u.com熱心網友回復:
您可以使用如下所示的公式,使用LOOKUP(),SEARCH()和SUBSTITUTE()

? 單元格中使用的公式B1
=IFERROR(SUBSTITUTE(A1,LOOKUP(9^9,SEARCH($D$1:$D$3,A1),$D$1:$D$3),
LOOKUP(9^9,SEARCH($D$1:$D$3,A1),$E$1:$E$3)),A1)
uj5u.com熱心網友回復:
你去吧。可能還有其他更好的解決方案。這就是我得到的。
全部在 B 列。
=IFERROR(CONCAT(MID(A1,1,MATCH(1,(CODE(MID(A1,ROW($Z$1:$Z$255),1))<90)*(CODE(MID(A1,ROW($Z$1:$Z$255),1))>=65),FALSE)-1),INDIRECT(CONCAT("sheet2!b", MATCH(MID(A1, MATCH(1,(CODE(MID(A1,ROW($Z$1:$Z$255),1))<90)*(CODE(MID(A1,ROW($Z$1:$Z$255),1))>=65),FALSE), LEN(A1)), Sheet2!$A$1:Sheet2!$A$300, 0)))),A1)
分解如下;
讓我們從 C 列開始。
C 列,查找文本中第一個大寫字母的索引。參考:
中的公式B1:
=BYROW(A1:A10,LAMBDA(a,LET(b,TEXTBEFORE(a&"|","_"&A12:A14&"|",-1),IFERROR(CONCAT(IF(b&"_"&A12:A14=a,b&"_"&B12:B14,"")),a))))
與“|”的連接 會斷言我們只在輸入的確切結束時替換值。以防萬一在結束前的某個地方會有一個流浪者(例如)' Rick '。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/526183.html
標籤:擅长excel公式
