අන්තර්ගත වගුව
මෙම නිබන්ධනයේදී, අපි බහු වචන, තන්තු, හෝ තනි අක්ෂර සොයා ගැනීමට සහ ප්රතිස්ථාපනය කිරීමට ක්රම කිහිපයක් දෙස බලමු, එවිට ඔබට ඔබේ අවශ්යතාවලට වඩාත් ගැලපෙන එකක් තෝරාගත හැක.
මිනිසුන් සාමාන්යයෙන් Excel හි සොයන්නේ කෙසේද? බොහෝ දුරට, Find & තනි අගයන් සඳහා හොඳින් ක්රියා කරන විශේෂාංගය ප්රතිස්ථාපනය කරන්න. නමුත් ඔබට ප්රතිස්ථාපනය කිරීමට අයිතම දහයක් හෝ සිය ගණනක් තිබේ නම් කුමක් කළ යුතුද? නිසැකවම, කිසිවකුට එම සියලුම ප්රතිස්ථාපන අතින් එකින් එක සිදු කිරීමට අවශ්ය නොවනු ඇත, ඉන්පසු දත්ත වෙනස් වූ විට එය නැවත නැවත කරන්න. වාසනාවකට මෙන්, එක්සෙල් හි ස්කන්ධ ප්රතිස්ථාපනය කිරීමට තවත් ඵලදායි ක්රම කිහිපයක් ඇති අතර, අපි ඒ සෑම එකක්ම සවිස්තරාත්මකව විමර්ශනය කරන්නෙමු.
නිශ්චිත ආදේශකයක් සමඟින් බහුවිධ අගයන් සොයාගෙන ප්රතිස්ථාපනය කරන්න
Excel හි බහුවිධ ඇතුළත් කිරීම් සොයා ගැනීමට සහ ප්රතිස්ථාපනය කිරීමට ඇති පහසුම ක්රමය වන්නේ SUBSTITUTE ශ්රිතය භාවිතා කිරීමයි.
සූත්රයේ තර්කය ඉතා සරලයි: ඔබ පැරණි අගයක් අලුත් එකක් සමඟ ප්රතිස්ථාපනය කිරීමට තනි ශ්රිත කිහිපයක් ලියන්න. . ඉන්පසුව, ඔබ එම ශ්රිත එකකට එකකට කැදවා, එවිට සෑම පසුකාලීන ආදේශකයක්ම ඊළඟ අගය සෙවීමට පෙර ආදේශකයේ ප්රතිදානය භාවිතා කරයි.
SUBSTITUTE(SUBSTITUTE( පෙළ, old_text1, new_text1), old_text2, new_text2), old_text3, new_text3)A2:A10 හි ස්ථාන ලැයිස්තුවේ, ඔබට සංක්ෂිප්ත රටේ නම් ( FR , UK සහ USA වැනි) සම්පූර්ණයෙන් ප්රතිස්ථාපනය කිරීමට අවශ්ය යැයි සිතන්න. MassReplace ශ්රිතය ක්රියා කරන්නේ ඔබ කේතය ඇතුළත් කර ඇති වැඩපොතෙහි පමණි. මෙය නිවැරදිව කරන්නේ කෙසේදැයි ඔබට විශ්වාස නැතිනම්, කරුණාකර Excel හි VBA කේතය ඇතුළත් කරන්නේ කෙසේද යන්නෙහි විස්තර කර ඇති පියවර අනුගමනය කරන්න.
ඔබගේ වැඩපොතට කේතය එක් කළ පසු, ශ්රිතය intellisense සූත්රයේ දිස්වනු ඇත - පමණි. ශ්රිතයේ නම මිස තර්ක නොවේ! කෙසේ වෙතත්, වාක්ය ඛණ්ඩය මතක තබා ගැනීම ලොකු ප්රශ්නයක් නොවන බව මම විශ්වාස කරමි:
MassReplace(input_range, find_range, replace_range)තැන්:
- Input_range - මූලාශ්ර පරාසය ඔබට අගයන් ප්රතිස්ථාපනය කිරීමට අවශ්යයි.
- Find_range - සෙවීමට අක්ෂර, තන්තු, හෝ වචන.
- Replace_range - අක්ෂර, තන්තු, හෝ ප්රතිස්ථාපනය කිරීමට වචන.
Excel 365 හි, ගතික අරා සඳහා සහය දැක්වීම හේතුවෙන්, මෙය සාමාන්ය සූත්රයක් ලෙස ක්රියා කරයි, එය ඇතුල් කිරීමට අවශ්ය වන්නේ ඉහළ කොටුවේ (B2):
=MassReplace(A2:A10, D2:D4, E2:E4)
පූර්ව ගතික එක්සෙල් හි, මෙය පැරණි මාදිලියේ CSE අරා සූත්රයක් ලෙස ක්රියා කරයි: ඔබ සම්පූර්ණ මූලාශ්ර පරාසය තෝරන්න (B2:B10), ටයිප් කරන්න සූත්රය, එය සම්පූර්ණ කිරීමට Ctrl + Shift + Enter යතුරු එකවර ඔබන්න.
වාසි : Excel 2019 හි අභිරුචි LAMBDA ශ්රිතයකට හොඳ විකල්පයක් , Excel 2016 සහ පෙර අනුවාද
අඩුපාඩු : වැඩපොත මැක්රෝ-සක්රීය .xlsm ගොනුවක් ලෙස සුරැකිය යුතුය
Excel හි VBA macro සමඟ තොග වශයෙන් ප්රතිස්ථාපනය කරන්න
ඔබ ඔටෝ වලට ආදරය කරන්නේ නම් macros සමඟ පොදු කාර්යයන් සංසර්ගය, පසුව ඔබපරාසයක බහුවිධ අගයන් සොයා ගැනීමට සහ ප්රතිස්ථාපනය කිරීමට පහත VBA කේතය භාවිත කළ හැක.
Sub BulkReplace() Dim Rng As Range, SourceRng As Range, ReplaceRng ලෙස Resume On Error Resume Next Set SourceRng = Application.InputBox( "මූලාශ්ර දත්ත: " , "තොග ප්රතිස්ථාපනය කරන්න" , Application.Selection.ලිපිනය, වර්ගය :=8) Err.Clear නම් SourceRng කිසිවක් නොමැති නම් ReplaceRng = Application.InputBox( "ප්රතිස්ථාපනය පරාසය:" , "තොග ප්රතිස්ථාපනය කරන්න" , වර්ගය :=8) Err.Clear ප්රතිස්ථාපනය නොවේ නම්Rng කිසිවක් නැත එවිට යෙදුම.ScreenUpdating = ReplaceRng.තීරු(1) හි එක් එක් Rng සඳහා අසත්යය. සෛල මූලාශ්රRng Application.ScreenUpdating = True End If End If End Subමැක්රෝව වහාම භාවිතා කිරීමට, ඔබට කේතය අඩංගු අපගේ නියැදි වැඩපොත බාගත කළ හැක. නැතහොත් ඔබට ඔබේම වැඩපොතෙහි කේතය ඇතුළත් කළ හැක.
මැක්රෝව භාවිතා කරන ආකාරය
මැක්රෝව ධාවනය කිරීමට පෙර, පහත රූපයේ පරිදි පැරණි සහ නව අගයන් යාබද තීරු දෙකකට ටයිප් කරන්න ( C2:D4).
ඉන්පසු, ඔබේ මූලාශ්ර දත්ත තෝරන්න, Alt + F8 ඔබන්න, BulkReplace macro තෝරාගෙන, Run ක්ලික් කරන්න.
<0මූලාශ්ර කෝපය කලින් තෝරන ලද පරිදි, හුදෙක් යොමුව සත්යාපනය කර, හරි ක්ලික් කරන්න:
ඉන් පසුව, ප්රතිස්ථාපන පරාසය තෝරන්න, සහ හරි ක්ලික් කරන්න:
Done!
වාසි : වරක් සකසන්න, ඕනෑම වේලාවක නැවත භාවිත කරන්න
අඩුපාඩු : මැක්රෝව සෑම දත්තයක් සමඟම ධාවනය කළ යුතුයchange
Multiple find and replace in Excel with Substring tool
පළමු උදාහරණයේදීම මම සඳහන් කළේ Excel හි බහුවිධ අගයන් ප්රතිස්ථාපනය කිරීමට පහසුම ක්රමය nested SUBSTITUTE බවයි. මම වැරදියි කියලා මම පිළිගන්නවා. අපගේ Ultimate Suite මගින් දේවල් වඩාත් පහසු කරයි!
ඔබේ වැඩ පත්රිකාවේ විශාල ප්රතිස්ථාපන කිරීමට, Ablebits දත්ත ටැබය වෙත ගොස් උපස්ථර මෙවලම් > ක්ලික් කරන්න. උපසිරසි ප්රතිස්ථාපනය කරන්න.
උපතන්තු ප්රතිස්ථාපනය කරන්න සංවාද කොටුව ඔබෙන් මූලාශ්ර පරාසය සහ <1 නිර්වචනය කිරීමට ඉල්ලා සිටිනු ඇත>උප පද පරාසය.
තෝරාගත් පරාස දෙක සමඟින්, ප්රතිස්ථාපනය බොත්තම ක්ලික් කර දකුණට ඇතුළු කර ඇති නව තීරුවක ප්රතිඵල සොයන්න මුල් දත්ත වලින්. ඔව්, එය ඉතා පහසුයි!
ඉඟිය. ප්රතිස්ථාපනය ක්ලික් කිරීමට පෙර, ඔබ සලකා බැලිය යුතු එක් වැදගත් කරුණක් ඇත - අවස්ථා සංවේදී කොටුව. ඔබට විශාල අකුරු සහ කුඩා අකුරු වෙනස් අක්ෂර ලෙස හැසිරවීමට අවශ්ය නම් එය තෝරා ගැනීමට වග බලා ගන්න. මෙම උදාහරණයේ දී, අපි මෙම විකල්පය සලකුණු කරන්නේ අපට අවශ්ය වන්නේ ප්රාග්ධනීකරණය කරන ලද නූල් පමණක් ප්රතිස්ථාපනය කිරීමට සහ වෙනත් වචන තුළ "fr", "uk", හෝ "ak" වැනි උපස්ථර නොවෙනස්ව තැබීමට බැවිනි.
තන්තු මත සිදු කළ හැකි අනෙකුත් තොග මෙහෙයුම් මොනවාදැයි දැන ගැනීමට ඔබ කුතුහලයෙන් සිටින්නේ නම්, අපගේ Ultimate Suite සමඟ ඇතුළත් කර ඇති අනෙකුත් උපස්ථර මෙවලම් පරීක්ෂා කරන්න. හෝ ඊටත් වඩා හොඳයි, පහත ඇගයුම් අනුවාදය බාගත කර එය උත්සාහ කරන්න!
සොයා ගැනීම සහ ප්රතිස්ථාපනය කරන්නේ කෙසේද යන්නයි.එක්සෙල් හි එකවර වචන සහ අක්ෂර කිහිපයක්. කියවීම ගැන මම ඔබට ස්තූතිවන්ත වන අතර ලබන සතියේ අපගේ බ්ලොගයේ ඔබව දැකීමට බලාපොරොත්තු වෙමි!
ලබාගත හැකි බාගැනීම්
බහුවිධ සොයාගැනීම් සහ Excel (.xlsm ගොනුව)
Ultimate Suite 14 -day පූර්ණ-ක්රියාකාරී අනුවාදය (.exe ගොනුව)
නම්.එය සිදු කිරීමට, D2:D4 හි පැරණි අගයන් සහ පහත තිර පිටුවේ පෙන්වා ඇති පරිදි E2:E4 හි නව අගයන් ඇතුළත් කරන්න. ඉන්පසුව, පහත සූත්රය B2ට දමා Enter යතුර ඔබන්න:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2:A10, D2, E2), D3, E3), D4, E4)
...ඔබට සියලුම ප්රතිස්ථාපන එකවර සිදු කරනු ඇත:
කරුණාකර සලකන්න, ඉහත ප්රවේශය ක්රියා කරන්නේ ගතික අරා සඳහා සහය දක්වන Excel 365 හි පමණි.
Excel 2019, Excel 2016 සහ ඊට පෙර පෙර ගතික අනුවාද වල, සූත්රය විය යුතුය ඉහළම සෛලය (B2) සඳහා ලියා, පසුව පහත සෛල වෙත පිටපත් කර ඇත:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)
කරුණාකර අවධානය යොමු කරන්න, මෙම අවස්ථාවෙහිදී, අපි නිරපේක්ෂ සෛල යොමු කිරීම් සමඟ ප්රතිස්ථාපන අගයන් අගුළු දමන්නෙමු. සූත්රය පහළට පිටපත් කිරීමේදී ඒවා මාරු නොවනු ඇත.
සටහන. SUBSTITUTE ශ්රිතය අවස්ථා සංවේදී , එනම් ඔබ පැරණි අගයන් ( old_text ) මුල් දත්තවල දිස්වන අකුරු නඩුවේම ටයිප් කළ යුතුය.
එය හැකි තරම් පහසු, මෙම ක්රමයට සැලකිය යුතු අඩුපාඩුවක් ඇත - ඔබට ප්රතිස්ථාපනය කිරීමට අයිතම දුසිම් ගණනක් ඇති විට, කැදැලි ශ්රිත කළමනාකරණය කිරීම තරමක් අපහසු වේ.
වාසි : පහසුයි - ක්රියාත්මක කිරීමට; සියලුම Excel අනුවාද වල සහය දක්වයි
අඩුපාඩු : සීමිත සෙවීම්/ප්රතිස්ථාපන අගයන් සඳහා භාවිතා කිරීමට හොඳම වේ
XLOOKUP සමඟින් බහු ප්රවේශයන් සොයන්න සහ ප්රතිස්ථාපනය කරන්න
<0 ඔබ එහි කොටස නොව සම්පූර්ණ සෛල අන්තර්ගතය ප්රතිස්ථාපනය කිරීමට බලාපොරොත්තු වන අවස්ථාවක, XLOOKUP ශ්රිතය ප්රයෝජනවත් වේ.අපිඔබට A තීරුවේ රටවල් ලැයිස්තුවක් ඇති බවත් සියලු කෙටි යෙදුම් අනුරූප සම්පූර්ණ නම් සමඟ ප්රතිස්ථාපනය කිරීමට ඉලක්ක කර ඇති බවත් පවසන්න. පෙර උදාහරණයේ මෙන්, ඔබ "සොයා ගන්න" සහ "ප්රතිස්ථාපනය" අයිතම වෙනම තීරු (D සහ E පිළිවෙලින්) ඇතුළත් කිරීමෙන් ආරම්භ කරන්න, ඉන්පසු මෙම සූත්රය B2:
=XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)
Excel භාෂාවෙන් මිනිස් භාෂාවට පරිවර්තනය කර ඇත, මෙන්න සූත්රය කරන්නේ කුමක්ද:
D2:D4 (lookup_array) හි A2 අගය (lookup_value) සොයන්න සහ E2:E4 (return_array) වෙතින් ගැළපීමක් ලබා දෙන්න. සොයාගත නොහැකි නම්, A2 වෙතින් මුල් අගය අදින්න.
පහත කොටු වෙත සූත්රය පිටපත් කර ගැනීමට පිරවුම් හසුරුව මත දෙවරක් ක්ලික් කරන්න, ප්රතිඵලය ඔබව බලා නොසිටිනු ඇත:
XLOOKUP ශ්රිතය ලබා ගත හැක්කේ Excel 365 හි පමණක් බැවින්, ඉහත සූත්රය පෙර අනුවාද වල ක්රියා නොකරයි. කෙසේ වෙතත්, ඔබට මෙම හැසිරීම IFERROR හෝ IFNA සහ VLOOKUP සංකලනයකින් පහසුවෙන් අනුකරණය කළ හැක:
=IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)
සටහන. SUBSTITUTE මෙන් නොව, XLOOKUP සහ VLOOKUP ශ්රිත අවස්ථා සංවේදී නොවේ , එනම් ඔවුන් අකුරු නඩුව නොසලකා හරිමින් සෙවුම් අගයන් සොයයි. උදාහරණයක් ලෙස, අපගේ සූත්රය FR සහ fr යන දෙකම France සමඟ ප්රතිස්ථාපනය කරයි.
වාසි : සාමාන්ය ක්රියාකාරකම්වල අසාමාන්ය භාවිතය; සියලුම Excel අනුවාද වල ක්රියා කරයි
අඩුපාඩු : සෛල මට්ටමින් ක්රියා කරයි, සෛල අන්තර්ගතයෙන් කොටසක් ප්රතිස්ථාපනය කළ නොහැක
ප්රතිස්ථාපන LAMBDA ශ්රිතය භාවිතයෙන් බහු ප්රතිස්ථාපනය කරන්න
Microsoft සඳහාග්රාහකයින් 365ක්, Excel සම්ප්රදායික සූත්ර භාෂාවක් භාවිතයෙන් අභිරුචි ශ්රිත නිර්මාණය කිරීමට ඉඩ සලසන විශේෂ කාර්යයක් සපයයි. ඔව්, මම කතා කරන්නේ LAMBDA ගැන. මෙම ක්රමයේ අලංකාරය වන්නේ ඉතා දිගු හා සංකීර්ණ සූත්රයක් ඉතා සංයුක්ත හා සරල එකක් බවට පරිවර්තනය කළ හැකි බවයි. එපමනක් නොව, එය ඔබට Excel හි නොපවතින ඔබගේම ශ්රිතයන් නිර්මාණය කිරීමට ඉඩ සලසයි, VBA සමඟ පමණක් කලින් කළ හැකි දෙයක්.
අභිරුචි LAMBDA කාර්යයන් නිර්මාණය කිරීම සහ භාවිතා කිරීම පිළිබඳ සවිස්තරාත්මක තොරතුරු සඳහා, කරුණාකර මෙම නිබන්ධනය පරීක්ෂා කරන්න: කෙසේද? එක්සෙල් හි LAMBDA කාර්යයන් ලිවීමට. මෙන්න, අපි ප්රායෝගික උදාහරණ කිහිපයක් සාකච්ඡා කරමු.
වාසි : ප්රතිස්ථාපන යුගල ගණන කුමක් වුවත්, ප්රතිඵලය අලංකාර සහ භාවිතා කිරීමට පුදුම සහගත ලෙස සරල කාර්යයකි
අඩුපාඩු : ලබා ගත හැක්කේ Excel 365 හි පමණි; වැඩපොත-විශේෂිත සහ විවිධ වැඩපොත් හරහා නැවත භාවිතා කළ නොහැක
උදාහරණ 1. එකවර වචන / තන්තු කිහිපයක් සොයන්න සහ ප්රතිස්ථාපනය කරන්න
එක ගමනකින් බහු වචන හෝ පෙළ ප්රතිස්ථාපනය කිරීමට, අපි අභිරුචියක් සාදා ඇත LAMBDA ශ්රිතය, 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))))
දෙකම පුනරාවර්තන වේ තමන් හඳුන්වන කාර්යයන්. වෙනස ඇත්තේ පිටවීමේ ලක්ෂ්යය පිහිටුවා ඇති ආකාරය තුළ පමණි.
පළමු සූත්රයේ, IF ශ්රිතය පැරණි ලැයිස්තුව හිස් නොවේද (පැරණි"") පරීක්ෂා කරයි. සත්ය නම්, MultiReplace ශ්රිතය හැඳින්වේ. FALSE නම්, කාර්යය පෙළ එහි වත්මන් ස්වරූපය ලබා දී පිටවෙයි.
දෙවන සූත්රය ප්රතිලෝම තර්කය භාවිතා කරයි: පැරණි හිස් නම් (old=""), ඉන්පසු <1 ආපසු ලබා දෙන්න>පෙළ සහ පිටවීම; එසේ නොමැතිනම් MultiReplace අමතන්න.
උපක්ෂම කොටස සම්පූර්ණයි! ඔබට කිරීමට ඉතිරිව ඇත්තේ පහත තිර පිටුවේ පෙන්වා ඇති පරිදි Name Manager හි MultiReplace ශ්රිතය නම් කිරීමයි. සවිස්තරාත්මක මාර්ගෝපදේශ සඳහා, කරුණාකර LAMBDA ශ්රිතයක් නම් කරන්නේ කෙසේදැයි බලන්න.
ශ්රිතයට නමක් ලැබුණු පසු, ඔබට වෙනත් ඕනෑම ඉන්බිල්ට් ශ්රිතයක් මෙන් එය භාවිතා කළ හැක.
ඔබ තෝරන සූත්ර ප්රභේද දෙකෙන් කුමක් වුවත්, අවසාන පරිශීලක දෘෂ්ටිකෝණයෙන්, වාක්ය ඛණ්ඩය මේ තරම් සරල ය:
MultiReplace(text, old, new)කොතැනද:
- පෙළ - මූලාශ්ර දත්ත
- පැරණි - සොයා ගැනීමට ඇති අගයන්
- නව - ප්රතිස්ථාපනය කළ යුතු අගයන්
පෙර උදාහරණය තව ටිකක් ඉදිරියට ගෙන ගියහොත්, රට කෙටි යෙදුම් පමණක් නොව රාජ්ය කෙටි යෙදුම් ද ආදේශ කරමු. මේ සඳහා, D2 හි ආරම්භ වන D තීරුවේ කෙටි යෙදුම් ( පැරණි අගයන්) සහ E2 හි ආරම්භ වන E තීරුවේ සම්පූර්ණ නම් ( නව අගයන්) ටයිප් කරන්න.
in B2, MultiReplace ශ්රිතය ඇතුළු කරන්න:
=MultiReplace(A2:A10, D2, E2)
Enter ඔබා ප්රතිඵල භුක්ති විඳින්න :)
මෙම සූත්රය ක්රියා කරන ආකාරය
සූත්රය අවබෝධ කර ගැනීමේ ඉඟිය වන්නේ ප්රතිවර්තනය තේරුම් ගැනීමයි. මෙය සංකීර්ණ බවක් පෙනෙන්නට ඇත, නමුත් මූලධර්මය තරමක් සරල ය. එක් එක් සමගපුනරාවර්තනය, පුනරාවර්තන ශ්රිතයක් විශාල ගැටලුවක එක් කුඩා අවස්ථාවක් විසඳයි. අපගේ නඩුවේදී, MultiReplace ශ්රිතය පැරණි සහ නව අගයන් හරහා ලූප් වන අතර, එක් එක් ලූපය සමඟ, එක් ප්රතිස්ථාපනයක් සිදු කරයි:
MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))
කැදලි SUBSTITUTE ශ්රිතවල මෙන්, පෙර ආදේශකයේ ප්රතිඵලය ඊළඟ ආදේශකය සඳහා පෙළ පරාමිතිය බවට පත්වේ. වෙනත් වචන වලින් කිවහොත්, MultiReplace හි සෑම පසු ඇමතුමකදීම, SUBSTITUTE ශ්රිතය මුල් පෙළ තන්තුව නොව පෙර ඇමතුමේ ප්රතිදානය සකසයි.
<1 හි ඇති සියලුම අයිතම හැසිරවීමට>පැරණි ලැයිස්තුව, අපි ඉහළම කොටුවෙන් ආරම්භ කරන අතර, එක් එක් අන්තර්ක්රියා සමඟ පේළි 1ක් පහළට ගෙන යාමට OFFSET ශ්රිතය භාවිතා කරමු:
OFFSET(old, 1, 0)
සඳහාද එයම සිදු කෙරේ. new list:
OFFSET(new, 1, 0)
තීරනාත්මක දෙය වන්නේ ප්රත්යාවර්තී ඇමතුම් සදහටම ඉදිරියට යාම වැලැක්වීමට පිටවීමේ ලක්ෂයක් සැපයීමයි. එය IF ශ්රිතයේ ආධාරයෙන් සිදු කෙරේ - පැරණි කොටුව හිස් නම්, ශ්රිතය පෙළ එහි වත්මන් ස්වරූපය ලබා දී පිටවෙයි:
=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))
හෝ
=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))
උදාහරණ 2. Excel හි බහු අක්ෂර ප්රතිස්ථාපනය කරන්න
ප්රතිපත්තිමය වශයෙන්, පෙර උදාහරණයේ සාකච්ඡා කළ MultiReplace ශ්රිතය කළ හැක. ඉහත තිරපිටපත්වල ඇති සංක්ෂිප්ත සහ සම්පූර්ණ නම් මෙන්, එක් එක් පැරණි සහ නව අක්ෂර වෙනම කොටුවක ඇතුළත් කර ඇත්නම්, තනි තනි අක්ෂර ද හසුරුවන්න.
ඔබ පැරණි එක ඇතුළත් කිරීමට කැමති නම්එක් කොටුවක ඇති අක්ෂර සහ තවත් කොටුවක නව අක්ෂර, හෝ ඒවා කෙලින්ම සූත්රයේ ටයිප් කරන්න, එවිට ඔබට මෙම සූත්රවලින් එකක් භාවිතා කිරීමෙන් ReplaceChars නමින් වෙනත් අභිරුචි ශ්රිතයක් නිර්මාණය කළ හැක:
=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))))
සාමාන්ය පරිදි නාම කළමනාකරු තුළ ඔබේ නව Lambda ශ්රිතය නම් කිරීමට මතක තබා ගන්න:
තවද ඔබගේ නව අභිරුචි ශ්රිතය භාවිතයට සුදානම්ය:
ReplaceChars(text, old_chars, new_chars)කොතැනද:
- පෙළ - මුල් තන්තු 17> පැරණි - සෙවීමට අක්ෂර
- නව - සමඟ ප්රතිස්ථාපනය කළ යුතු අක්ෂර
එයට ක්ෂේත්ර පරීක්ෂණයක් ලබා දීමට, අපි බොහෝ විට ආනයනය කරන ලද දත්ත මත සිදු කරන දෙයක් කරමු - ස්මාර්ට් උද්ධෘත සහ ස්මාර්ට් අපෝස්ට්රොෆි වෙනුවට සෘජු උද්ධෘත සහ සෘජු අපෝස්ට්රොෆි ආදේශ කරන්න.
පළමුව, අපි ස්මාර්ට් උද්ධෘත සහ ස්මාර්ට් අපෝස්ට්රොෆි D2, කෙළින් උද්ධෘත සහ සෘජු අපෝස්ට්රොෆි E2 හි ඇතුළත් කරමු. , වඩා හොඳ කියවීමේ හැකියාව සඳහා අවකාශයන් සහිත අක්ෂර වෙන් කිරීම. (අපි කොටු දෙකෙහිම එකම පරිසීමකය භාවිතා කරන බැවින්, එය ප්රතිඵලයට කිසිදු බලපෑමක් ඇති නොකරනු ඇත - Excel විසින් හිස් ඉඩක් ප්රතිස්ථාපනය කරනු ඇත.)
ඉන් පසු, අපි මෙම සූත්රය B2:
=ReplaceChars(A2:A4, D2, E2)
සහ අප සොයන ප්රතිඵල හරියටම ලබා ගන්න:
සූත්රයේ අක්ෂර කෙලින්ම ටයිප් කිරීමටද හැකිය. අපගේ නඩුවේදී, මෙවැනි සෘජු උපුටා දැක්වීම් "අනුපිටපත්" කිරීමට මතක තබා ගන්න:
=ReplaceChars(A2:A4, "“ ” ’", """ "" '")
මෙම සූත්රය ක්රියා කරන ආකාරය
ප්රතිස්ථාපන චාර්ස් old_chars සහ new_chars තන්තු හරහා ශ්රිත චක්ර සිදු කරන අතර වම් පස ඇති පළමු අක්ෂරයෙන් ආරම්භ වන වරකට එක් ප්රතිස්ථාපනයක් සිදු කරයි. මෙම කොටස SUBSTITUTE ශ්රිතය මගින් සිදු කරයි:
SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))
සෑම පුනරාවර්තනයක් සමඟම, RIGHT ශ්රිතය old_chars සහ දෙකෙහිම වමේ සිට එක් අක්ෂරයක් ඉවත් කරයි. new_chars strings, එවිට LEFT හට ආදේශනය සඳහා මීළඟ අක්ෂර යුගලය ලබා ගත හැක:
ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))
එක් එක් ප්රත්යාවර්තී ඇමතුමකට පෙර, IF ශ්රිතය old_chars තන්තුව ඇගයීමට ලක් කරයි. . එය හිස් නොවේ නම්, ශ්රිතය එයම කැඳවයි. අවසාන අක්ෂරය ප්රතිස්ථාපනය කළ විගස, පුනරාවර්තන ක්රියාවලිය අවසන් වේ, සූත්රය පෙළ එහි වත්මන් ස්වරූපය ලබා දී පිටවෙයි.
සටහන. අපගේ මූලික සූත්රවල භාවිතා වන SUBSTITUTE ශ්රිතය අවස්ථා සංවේදී බැවින්, Lambdas ( MultiReplace සහ ReplaceChars ) යන දෙකම විශාල අකුරු සහ කුඩා අකුරු වෙනස් අක්ෂර ලෙස සලකයි.
Mass find and replace with UDF
LAMBDA ශ්රිතය ඔබේ Excel තුළ නොමැති නම්, ඔබට VBA භාවිතයෙන් සම්ප්රදායික ආකාරයෙන් බහු-ප්රතිස්ථාපන සඳහා පරිශීලක-නිර්වචනය කළ ශ්රිතයක් ලිවිය හැක.
0>LAMBDA-නිර්වචනය කළ MultiReplace ශ්රිතයෙන් UDF වෙන්කර හඳුනා ගැනීමට, අපි එය වෙනස් ලෙස නම් කරන්නෙමු, MassReplace කියන්න. ශ්රිතයේ කේතය පහත පරිදි වේ: Function MassReplace(InputRng as Range, FindRng as Range, ReplaceRng As Range) ප්රභේදය () Dim ලෙසarRes() ප්රතිඵල ගබඩා කිරීමට ප්රභේදය 'අරාවක් ලෙස Dim arSearchReplace(), sTmp String 'array ලෙස සොයන්න/ප්රතිස්ථාපන යුගල ගබඩා කරන්නේ කොතැනද, තාවකාලික string Dim iFindCurRow, cntFindRows ලෙස දිගු 'සෙවුම් අරාවේ වත්මන් පේළියේ දර්ශකය, ගණන් කරන්න. පේළි වල Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols ප්රභව පරාසයේ වත්මන් පේළියේ දිගු 'දර්ශකය, ප්රභව පරාසයේ වත්මන් තීරුවේ දර්ශකය, පේළි ගණන, තීරු ගණන cntInputRows = InputRng.Rows. ගණන් කිරීම cntInputRng. තීරුව iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).අගය arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1).අගය ඊළඟ 'ඉන්පුට් 1CurRow සඳහා iInput සඳහා ප්රභව පරාසය තුළ සෙවීම සහ ප්රතිස්ථාපනය කිරීම. 1 cntInputCols sTm වෙත p = InputRng.Cells(iInputCurRow, iInputCurCol).අගය 'එක් එක් කොටුවේ ඇති සියලුම සොයාගැනීම/ප්රතිස්ථාපනය යුගල iFindCurRow සඳහා ප්රතිස්ථාපන (iInputCurRow, iInputCurCol) = sTmp ඊළඟට MassReplace = arRes End FunctionLAMBDA-defined functions මෙන්, UDFs වැඩපොත පුරා වේ. ඒ කියන්නේ the