国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
用嵌套替換查找并替換多個(gè)值
用Xlookup搜索并替換多個(gè)條目
使用遞歸lambda功能多次替換
示例1。一次搜索并替換多個(gè)單詞 /字符串
示例2。在Excel中替換多個(gè)字符
群眾查找并用UDF??替換
散裝用VBA宏代替Excel
如何使用宏
用substring工具中的多個(gè)查找并替換Excel
可用下載
首頁(yè) 專(zhuān)題 excel Excel:一次查找并替換多個(gè)值

Excel:一次查找并替換多個(gè)值

Apr 01, 2025 am 04:11 AM

在本教程中,我們將研究幾種方法來(lái)查找和替換多個(gè)單詞,字符串或單個(gè)角色,因此您可以選擇最適合您需求的單詞。

人們通常如何在Excel中搜索?通常,通過(guò)使用查找和替換功能,該功能適用??于單個(gè)值。但是,如果您有數(shù)十個(gè)甚至數(shù)百個(gè)物品要替換怎么辦?當(dāng)然,沒(méi)有人愿意一對(duì)一手動(dòng)進(jìn)行所有這些替換,然后在數(shù)據(jù)更改時(shí)再次進(jìn)行。幸運(yùn)的是,有一些更有效的方法可以在Excel中進(jìn)行質(zhì)量替換,我們將詳細(xì)調(diào)查它們。

用嵌套替換查找并替換多個(gè)值

在Excel中查找和替換多個(gè)條目的最簡(jiǎn)單方法是使用替代功能。

公式的邏輯非常簡(jiǎn)單:您編寫(xiě)一些單獨(dú)的函數(shù)將舊值替換為新值。然后,您將這些功能嵌套在另一個(gè)功能中,以便每個(gè)后續(xù)替代品都使用上一個(gè)替代的輸出來(lái)尋找下一個(gè)值。

替代(替代(替代( text , old_text1 , new_text1 ), old_text2 , new_text2 ), old_text3 , new_text3

在A2:A10的位置列表中,假設(shè)您想用全名替換縮寫(xiě)的國(guó)家名稱(chēng)(例如FR , UKUSA )。

要完成它,請(qǐng)?jiān)贒2:D4中輸入舊值以及E2:E4中的新值,如下屏幕截圖所示。然后,將以下公式放入B2中,然后按Enter:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2:A10, D2, E2), D3, E3), D4, E4)

…您將立即完成所有替代品:

Excel:一次查找并替換多個(gè)值

請(qǐng)注意,上述方法僅在支持動(dòng)態(tài)數(shù)組的Excel 365中起作用。

在Excel 2019,Excel 2016和更早的動(dòng)態(tài)版本中,需要為最上方的細(xì)胞(B2)編寫(xiě)該公式,然后復(fù)制到以下細(xì)胞中:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)

請(qǐng)注意,在這種情況下,我們將使用絕對(duì)單元格引用鎖定替換值,因此它們?cè)趯⒐椒畔聲r(shí)不會(huì)移動(dòng)。

Excel:一次查找并替換多個(gè)值

筆記。替代函數(shù)對(duì)大小寫(xiě)敏感,這意味著您應(yīng)該在與原始數(shù)據(jù)中顯示的同一字母案例中鍵入舊值( old_text )。

盡管可能很容易,但此方法具有很大的缺點(diǎn) - 當(dāng)您有數(shù)十個(gè)要替換的項(xiàng)目時(shí),嵌套功能變得很難管理。

優(yōu)點(diǎn):易于實(shí)現(xiàn);在所有Excel版本中支持

缺點(diǎn):最好用于有限數(shù)量的查找/替換值

用Xlookup搜索并替換多個(gè)條目

在您希望替換整個(gè)單元格內(nèi)容而不是其部分時(shí),Xlookup功能派上用場(chǎng)。

假設(shè)您有A列中的國(guó)家 /地區(qū)列表,目的是用相應(yīng)的全名代替所有縮寫(xiě)。與上一個(gè)示例一樣,您從在單獨(dú)的列中輸入“查找”和“替換”項(xiàng)目(分別為d和e),然后在B2中輸入此公式:

=XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)

從Excel語(yǔ)言翻譯成人類(lèi)語(yǔ)言,這是公式的作用:

在D2:D4(Lookup_array)中搜索A2值(Lookup_value),然后從E2:E4(return_array)返回匹配項(xiàng)。如果找不到,請(qǐng)從A2中摘取原始值。

雙擊填充手柄以將公式復(fù)制到以下單元格中,結(jié)果不會(huì)讓您等待:

Excel:一次查找并替換多個(gè)值

由于Xlookup功能僅在Excel 365中可用,因此上述公式在較早版本中無(wú)法使用。但是,您可以通過(guò)IFERROR或IFNA和VLOOKUP的組合輕松模仿這種行為:

=IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)

Excel:一次查找并替換多個(gè)值

筆記。與替代品不同,Xlookup和Vlookup功能不是對(duì)大小寫(xiě)的敏感性,這意味著他們搜索忽略字母情況的查找值。例如,我們的公式將用法國(guó)代替FRFR

優(yōu)點(diǎn):不尋常的使用通常功能;在所有Excel版本中使用

缺點(diǎn):在單元格級(jí)別上工作,無(wú)法替換部分單元內(nèi)容

使用遞歸lambda功能多次替換

對(duì)于Microsoft 365訂戶(hù),Excel提供了一個(gè)特殊的功能,該功能允許使用傳統(tǒng)公式語(yǔ)言創(chuàng)建自定義功能。是的,我說(shuō)的是Lambda。這種方法的優(yōu)點(diǎn)在于,它可以將非常冗長(zhǎng)且復(fù)雜的公式轉(zhuǎn)換為非常緊湊且簡(jiǎn)單的公式。此外,它使您可以創(chuàng)建自己不存在Excel中的功能,這僅在VBA中才可能。

有關(guān)創(chuàng)建和使用自定義Lambda功能的詳細(xì)信息,請(qǐng)查看本教程:如何在Excel中編寫(xiě)lambda函數(shù)。在這里,我們將討論幾個(gè)實(shí)際示例。

優(yōu)點(diǎn):結(jié)果是一種優(yōu)雅且令人驚訝的功能,無(wú)論替換對(duì)數(shù)量多少

缺點(diǎn):僅在Excel 365中可用;特定于工作簿,不能在不同的工作簿中重復(fù)使用

示例1。一次搜索并替換多個(gè)單詞 /字符串

為了一次替換多個(gè)單詞或文本,我們創(chuàng)建了一個(gè)自定義的lambda函數(shù),名為MultirePlace ,可以采用以下形式之一:

=LAMBDA(text, old, new, IF(old"", MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0)), text))

或者

=LAMBDA(text, old, new, IF(old="", text, MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))))

兩者都是自稱(chēng)的遞歸功能。區(qū)別僅在于如何建立出口點(diǎn)。

在第一個(gè)公式中,IF函數(shù)檢查列表是否不是空白(舊“”)。如果為true,則調(diào)用多隔板函數(shù)。如果false,該函數(shù)將其當(dāng)前形式和退出返回文本。

第二公式使用反向邏輯:如果舊的是空白(old =“”),則返回文本和退出;否則請(qǐng)致電MultirePlace

最棘手的部分是完成的!您要做的就是在名稱(chēng)管理器中命名多隔板函數(shù),如下面的屏幕截圖所示。有關(guān)詳細(xì)指南,請(qǐng)查看如何命名lambda功能。

Excel:一次查找并替換多個(gè)值

功能獲得名稱(chēng)后,您可以像其他任何內(nèi)置功能一樣使用它。

從最終用戶(hù)的角度來(lái)看,您選擇的兩個(gè)公式變化中的哪個(gè),語(yǔ)法都一樣簡(jiǎn)單:

Multireplace(文本,舊,新)

在哪里:

  • 文本- 源數(shù)據(jù)
  • - 找到的價(jià)值觀(guān)
  • - 替換為

以先前的例子為例,讓我們不僅取代國(guó)家的縮寫(xiě),還要取代國(guó)家的縮寫(xiě)。為此,在d2開(kāi)始鍵入D列中的縮寫(xiě)(值),在E2中開(kāi)始E列E中的全名(值)。

在B2中,輸入多臺(tái)詞函數(shù):

=MultiReplace(A2:A10, D2, E2)

點(diǎn)擊Enter并享受結(jié)果:)

Excel:一次查找并替換多個(gè)值

該公式如何工作

理解該公式的線(xiàn)索是理解遞歸。這聽(tīng)起來(lái)可能很復(fù)雜,但是原理很簡(jiǎn)單。在每次迭代中,遞歸函數(shù)解決了一個(gè)更大問(wèn)題的一個(gè)小實(shí)例。在我們的情況下,多隔板函數(shù)通過(guò)舊值和新值循環(huán),并且每個(gè)循環(huán)都執(zhí)行一個(gè)替代:

多動(dòng)(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))

與嵌套替代功能一樣,先前替代的結(jié)果成為下一個(gè)替代的文本參數(shù)。換句話(huà)說(shuō),在每個(gè)隨后的呼叫中,替代功能不是原始文本字符串,而是上一個(gè)呼叫的輸出。

要處理列表中的所有項(xiàng)目,我們從最上方的單元格開(kāi)始,并使用偏移函數(shù)在每次交互時(shí)向下移動(dòng)1行:

OFFSET(old, 1, 0)

列表也是如此:

OFFSET(new, 1, 0)

關(guān)鍵的事情是提供一個(gè)退出點(diǎn),以防止遞歸電話(huà)永遠(yuǎn)進(jìn)行。它是在IF函數(shù)的幫助下完成的 - 如果單元格為空,則該函數(shù)將其返回文本其當(dāng)前形式并退出:

=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))

或者

=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))

示例2。在Excel中替換多個(gè)字符

原則上,前一個(gè)示例中討論的多隔板函數(shù)也可以處理單個(gè)字符,前提是每個(gè)舊字符都在單獨(dú)的單元格中輸入,就像上面的屏幕截圖中的縮寫(xiě)和完整名稱(chēng)一樣。

如果您想在一個(gè)單元格中輸入舊字符和另一個(gè)單元格中的新字符,或者將它們直接在公式中鍵入,則可以通過(guò)使用以下公式之一創(chuàng)建另一個(gè)名為替代的自定義函數(shù):

=LAMBDA(text, old_chars, new_chars, IF(old_chars"", ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1)), text))

或者

=LAMBDA(text, old_chars, new_chars, IF(old_chars="", text, ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))))

請(qǐng)記住,以往常為名將您的新lambda函數(shù)命名:

Excel:一次查找并替換多個(gè)值

替換函數(shù)“ title =”名稱(chēng)一個(gè)自定義替換式函數(shù)>

并且您的新自定義功能已準(zhǔn)備就緒:

替換(文本,old_chars,new_chars)

在哪里:

  • 文字- 原始字符串
  • - 要搜索的角色
  • 新的- 字符要替換為

為了進(jìn)行現(xiàn)場(chǎng)測(cè)試,讓我們做一些經(jīng)常在導(dǎo)入的數(shù)據(jù)上執(zhí)行的事情 - 用直引號(hào)和直接撇號(hào)替換智能報(bào)價(jià)和智能撇號(hào)。

首先,我們?cè)贓2中輸入智能引號(hào)和智能撇號(hào),直接引號(hào)和直撇號(hào),將字符的空間分開(kāi),以獲得更好的可讀性。 (當(dāng)我們?cè)趦蓚€(gè)單元格中使用相同的定界符時(shí),它不會(huì)對(duì)結(jié)果產(chǎn)生任何影響 - excel只會(huì)用一個(gè)空間代替一個(gè)空間。)

之后,我們?cè)贐2中輸入此公式:

=ReplaceChars(A2:A4, D2, E2)

并準(zhǔn)確獲取我們正在尋找的結(jié)果:

Excel:一次查找并替換多個(gè)值

也可以直接在公式中鍵入字符。在我們的情況下,只記得“復(fù)制”這樣的直言:

=ReplaceChars(A2:A4, "“ ” '", """ "" '")

該公式如何工作

替代方案的功能通過(guò)舊_charsnew_chars字符串循環(huán),并從左側(cè)的第一個(gè)字符開(kāi)始一次替換。該部分由替代功能完成:

SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))

在每次迭代中,右功能都從舊_charsnew_chars字符串的左側(cè)剝離一個(gè)字符,因此左側(cè)可以拿出下一個(gè)字符以替換:

ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))

在每個(gè)遞歸調(diào)用之前,IF函數(shù)評(píng)估old_chars字符串。如果不是空的,則該函數(shù)會(huì)自動(dòng)調(diào)用。一旦取代了最后一個(gè)字符,迭代過(guò)程就完成了,該公式將返回文本其當(dāng)前形式和退出。

筆記。由于我們的核心公式中使用的替代功能對(duì)病例敏感,因此lambdas(多部替換)都將大寫(xiě)和小寫(xiě)字母視為不同的字符。

群眾查找并用UDF??替換

如果您的Excel中沒(méi)有Lambda功能,則可以使用VBA以傳統(tǒng)方式編寫(xiě)用戶(hù)定義的功能。

為了將UDF與lambda定義的多隔板功能區(qū)分開(kāi),我們將以不同的命名,例如MassReplace 。該函數(shù)的代碼如下:

函數(shù)subsreplace inputrng作為范圍 findrng范圍,替換范圍變量 iInputCurrow,iinputCurcol,cntinputrows,cntinputCols在源范圍內(nèi)當(dāng)前的索引,當(dāng)前列的索引,源范圍中的當(dāng)前列的索引,行計(jì)數(shù),行計(jì)數(shù),列計(jì)數(shù),列計(jì)數(shù)redim rarre(1cntinputrows,1cntinputcols) redim arsearchReplace(1cntfindrows,12)'準(zhǔn)備find/replease for fin/替換成對(duì)的ifindcurrow = 1 to cntfindrows arsearchreplace arsearchreplace(ifindcurrow,1)= findrng.cells(ifIndrng.celliue)(1) arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1).Value Next 'Searching and replacing in the source range For iInputCurRow = 1 To cntInputRows For iInputCurCol = 1 To cntInputCols sTmp = InputRng.Cells(iInputCurRow, iInputCurCol).Value '替換每個(gè)單元中的所有查找/替換對(duì)ifindcurrow = 1 = 1 to cntfindrows stmp = replace(stmp,arsearchReplace(ifindcurrow,1),arsearchReplace(arsearchReplace(ifindcurrow,2))下一個(gè)arres (iinputcurrow,iinputcurcol,iinputcurcol , iinputcurcol

像Lambda定義的功能一樣,UDF在范圍內(nèi)。這意味著只有在您插入代碼的工作簿中, MassReplace功能才能使用。如果您不確定如何正確執(zhí)行此操作,請(qǐng)按照如何在Excel中插入VBA代碼中所述的步驟。

一旦將代碼添加到您的工作簿中,該函數(shù)將出現(xiàn)在公式IntelliSense中 - 僅函數(shù)的名稱(chēng),而不是參數(shù)!不過(guò),我相信記住語(yǔ)法沒(méi)什么大不了的:

massReplace(input_range,find_range,replace_range)

在哪里:

  • input_range-要替換值的源范圍。
  • find_range-字符,字符串或單詞要搜索。
  • replace_range-字符,字符串或單詞要替換為。

在Excel 365中,由于支持動(dòng)態(tài)陣列,這是正常公式的作用,僅需要輸入頂部單元格(B2):

=MassReplace(A2:A10, D2:D4, E2:E4)

Excel:一次查找并替換多個(gè)值

在預(yù)先動(dòng)態(tài)的excel中,這是一個(gè)老式的CSE數(shù)組公式:您選擇整個(gè)源范圍(b2:b10),鍵入公式,然后按CTRL Shift同時(shí)輸入鍵以完成它。

Excel:一次查找并替換多個(gè)值

優(yōu)點(diǎn):Excel 2019,Excel 2016和更早版本的自定義Lambda功能的不錯(cuò)的替代品

缺點(diǎn):必須將工作簿保存為宏啟用.xlsm文件

散裝用VBA宏代替Excel

如果您喜歡使用宏自動(dòng)化常見(jiàn)任務(wù),則可以使用以下VBA代碼在范圍內(nèi)查找和替換多個(gè)值。

sub bulkreplace() dim rng作為范圍,作為范圍sourcerng ,替換錯(cuò)誤恢復(fù)范圍下一個(gè)set sec sourcerng = application.inputbox “源數(shù)據(jù):” , “ bulk替換” 應(yīng)用程序。替換什么,然后應(yīng)用。ScreenupDation = forse for for for for fors for for fors for for plactacerng.columns (1) .cells sourcerng.replace what what:= rng.value,替換:= rng.offset = rng.offset(0,1)。

要立即使用宏,您可以下載包含代碼的示例工作簿?;蛘?,您可以在自己的工作簿中插入代碼。

如何使用宏

在運(yùn)行宏之前,將舊值和新值鍵入兩個(gè)相鄰列,如下圖所示(C2:D4)。

然后,選擇您的源數(shù)據(jù),按Alt F8 ,選擇Bulkreplace宏,然后單擊“運(yùn)行” 。

Excel:一次查找并替換多個(gè)值

當(dāng)源憤怒被預(yù)選時(shí),只需驗(yàn)證參考,然后單擊“確定:

Excel:一次查找并替換多個(gè)值

之后,選擇替換范圍,然后單擊確定:

Excel:一次查找并替換多個(gè)值

完畢!

Excel:一次查找并替換多個(gè)值

優(yōu)點(diǎn):設(shè)置一次,隨時(shí)重復(fù)使用

缺點(diǎn):每個(gè)數(shù)據(jù)都需要運(yùn)行宏

用substring工具中的多個(gè)查找并替換Excel

在第一個(gè)示例中,我提到嵌套替代是替換Excel中多個(gè)值的最簡(jiǎn)單方法。我承認(rèn)我錯(cuò)了。我們的終極套房使事情變得更加容易!

要在工作表中進(jìn)行質(zhì)量替換,請(qǐng)轉(zhuǎn)到“ ablebits數(shù)據(jù)”選項(xiàng)卡,然后單擊子字符串工具>替換子字符串。

Excel:一次查找并替換多個(gè)值

“替換子字”對(duì)話(huà)框?qū)⒊霈F(xiàn),要求您定義范圍和子字符串范圍。

Excel:一次查找并替換多個(gè)值

選擇兩個(gè)范圍,單擊“替換”按鈕,然后在原始數(shù)據(jù)右側(cè)插入的新列中找到結(jié)果。是的,很容易!

Excel:一次查找并替換多個(gè)值

提示。在單擊替換之前,您需要考慮的一件重要的事情 -對(duì)案例敏感的框。如果您想處理大寫(xiě)和小寫(xiě)字母作為不同的字符,請(qǐng)務(wù)必選擇它。在此示例中,我們會(huì)打勾此選項(xiàng),因?yàn)槲覀冎幌胩鎿Q大寫(xiě)字母,并在完整的詞中留下諸如“ fr”,“ uk”或“ ak”之類(lèi)的子字符串。

如果您想知道在字符串上可以執(zhí)行哪些其他批量操作,請(qǐng)查看我們的Ultimate Suite中包含的其他子字符串工具。甚至更好,請(qǐng)?jiān)谙旅嫦螺d評(píng)估版本,然后嘗試一下!

這就是如何在Excel中一次找到和替換多個(gè)單詞和字符的方法。我感謝您閱讀,并希望下周在我們的博客上見(jiàn)到您!

可用下載

多個(gè)查找并替換在Excel(.xlsm File)Ultimate Suite 14天完全功能版本(.EXE文件)中

以上是Excel:一次查找并替換多個(gè)值的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線(xiàn)人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話(huà)題