မာတိကာ
ဤသင်ခန်းစာတွင်၊ များစွာသောစကားလုံးများ၊ စာကြောင်းများ သို့မဟုတ် စာလုံးတစ်လုံးချင်းစီကို ရှာဖွေအစားထိုးရန် နည်းလမ်းများစွာကို ကျွန်ုပ်တို့ကြည့်ရှုမည်ဖြစ်သောကြောင့် သင့်လိုအပ်ချက်များနှင့် အကိုက်ညီဆုံးကို သင်ရွေးချယ်နိုင်ပါသည်။
လူတွေက Excel မှာ ဘယ်လိုရှာကြသလဲ။ အများစုမှာ Find & တန်ဖိုးတစ်ခုတည်းအတွက် အဆင်ပြေသည့် လုပ်ဆောင်ချက်ကို အစားထိုးပါ။ သို့သော် သင့်တွင် အစားထိုးရန် ပစ္စည်းဆယ်ဂဏန်း သို့မဟုတ် ရာချီရှိလျှင်ကော။ သေချာတာကတော့၊ အဲဒီအစားထိုးမှုအားလုံးကို ကိုယ်တိုင်တစ်ပုံချင်းလုပ်ပြီး ဒေတာပြောင်းလဲတဲ့အခါ ထပ်ပြီးလုပ်မှာမဟုတ်ဘူးဆိုတာ သေချာပါတယ်။ ကံကောင်းစွာဖြင့်၊ Excel တွင် အစုလိုက်အပြုံလိုက်အစားထိုးရန် ပိုမိုထိရောက်သောနည်းလမ်းအနည်းငယ်ရှိပါသည်၊ ၎င်းတို့တစ်ခုစီကို ကျွန်ုပ်တို့အသေးစိတ်စုံစမ်းသွားမည်ဖြစ်ပါသည်။
တန်ဖိုးများစွာကို nested SUBSTITUTE<7 ဖြင့်ရှာဖွေပြီး အစားထိုးပါ>
Excel တွင်ထည့်သွင်းမှုများအများအပြားကိုရှာဖွေပြီးအစားထိုးရန်အလွယ်ကူဆုံးနည်းလမ်းမှာ SUBSTITUTE လုပ်ဆောင်ချက်ကိုအသုံးပြုခြင်းဖြင့်ဖြစ်သည်။
ဖော်မြူလာ၏ယုတ္တိဗေဒသည်အလွန်ရိုးရှင်းပါသည်- သင်သည်တန်ဖိုးဟောင်းတစ်ခုကိုအသစ်တစ်ခုနှင့်အစားထိုးရန်အတွက်အနည်းငယ်သောလုပ်ဆောင်ချက်များကိုသင်ရေးပါ။ . ထို့နောက်၊ နောက်ဆက်တွဲ SUBSTITUTE တစ်ခုစီသည် နောက်တန်ဖိုးကိုရှာဖွေရန် ယခင် SUBSTITUTE ၏ output ကို အသုံးပြု၍ အဆိုပါလုပ်ဆောင်ချက်များကို တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ထားသောကြောင့်ဖြစ်သည်။
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( text ၊ ) old_text1 ၊ new_text1 ), old_text2 , new_text2 ), old_text3 , new_text3 )A2:A10 ရှိ တည်နေရာများစာရင်းတွင်၊ သင်သည် အတိုကောက်နိုင်ငံအမည်များ (ဥပမာ FR ၊ UK နှင့် USA ကဲ့သို့) ကို အပြည့်အစုံဖြင့် အစားထိုးလိုသည်ဆိုပါစို့။ MassReplace လုပ်ဆောင်ချက်သည် သင်ကုဒ်ထည့်သွင်းထားသော အလုပ်စာအုပ်တွင်သာ အလုပ်လုပ်ပါမည်။ ၎င်းကို မှန်ကန်စွာပြုလုပ်နည်းကို သင်မသေချာပါက၊ Excel တွင် VBA ကုဒ်ထည့်သွင်းနည်းတွင် ဖော်ပြထားသည့် အဆင့်များကို လိုက်နာပါ။
ကုဒ်ကို သင့်အလုပ်စာအုပ်တွင် ထည့်သွင်းပြီးသည်နှင့် လုပ်ဆောင်ချက်သည် ဖော်မြူလာ intellisense တွင်သာ ပေါ်လာလိမ့်မည် အကြောင်းပြချက်များမဟုတ်ဘဲ function ၏အမည်။ အထားအသိုကို မှတ်မိရန်မှာ ကြီးကြီးမားမားမဟုတ်ဟု ကျွန်တော်ယုံကြည်ပါသည်-
MassReplace(input_range၊ find_range, replace_range)Where:
- Input_range - အရင်းအမြစ်အကွာအဝေးရှိရာ သင်တန်ဖိုးများကို အစားထိုးလိုပါသည်။
- Find_range - ရှာဖွေရန် စာလုံးများ၊ စာကြောင်းများ သို့မဟုတ် စကားလုံးများ။
- Replace_range - စာလုံးများ၊ စာကြောင်းများ၊ သို့မဟုတ် အစားထိုးရန် စကားလုံးများ။
Excel 365 တွင်၊ dynamic arrays များကို ပံ့ပိုးပေးသောကြောင့်၊ ၎င်းသည် ထိပ်တန်းဆဲလ် (B2) တွင်သာ ထည့်သွင်းရန် လိုအပ်သည့် ပုံမှန်ဖော်မြူလာအဖြစ် အလုပ်လုပ်သည်)။
=MassReplace(A2:A10, D2:D4, E2:E4)
အကြိုဒိုင်းနမစ် Excel တွင်၊ ၎င်းသည် ပုံစံဟောင်း CSE အခင်းအကျင်းဖော်မြူလာအဖြစ် အလုပ်လုပ်သည်- သင်သည် ရင်းမြစ်အပိုင်းအခြား (B2:B10) တစ်ခုလုံးကို ရွေးပါ) ဟု ရိုက်ထည့်ပါ။ ဖော်မြူလာကို ပြီးမြောက်ရန် Ctrl + Shift + Enter ခလုတ်များကို တပြိုင်တည်း နှိပ်ပါ။
အားသာချက်များ - Excel 2019 တွင် စိတ်ကြိုက် LAMBDA လုပ်ဆောင်ချက်အတွက် သင့်လျော်သော အစားထိုးတစ်ခု ၊ Excel 2016 နှင့် အစောပိုင်းဗားရှင်းများ
အားနည်းချက်များ - အလုပ်စာအုပ်ကို macro-enabled .xlsm ဖိုင်အဖြစ် သိမ်းဆည်းထားရမည်
Bulk replace in Excel တွင် VBA macro
အော်တိုကိုချစ်ရင် သာမာန်အလုပ်များကို macro နှင့် ပေါင်းလိုက်လျှင် သင်အပိုင်းအခြားတစ်ခုအတွင်း တန်ဖိုးများစွာကို ရှာဖွေပြီး အစားထိုးရန် အောက်ပါ VBA ကုဒ်ကို သုံးနိုင်သည်။
Sub BulkReplace() Dim Rng As Range၊ SourceRng As Range၊ ReplaceRng As Range အဖြစ် Error ပြန်စရန် နောက်တစ်ခု သတ်မှတ်မည် SourceRng = Application.InputBox( "အရင်းအမြစ်ဒေတာ- " , "Bulk Replace", Application.Selection.Address, Type :=8) Err.Clear အကယ်၍ SourceRng Is Nothing ဖြစ်ပါက ReplaceRng = Application.InputBox("Replace range:" , "Bulk Replace" , type :=8) Err.ရှင်းပါ အကယ်၍ ReplaceRng သည် ဘာမှမဖြစ်ပါက Application.ScreenUpdating = ReplaceRng.Columns(1).ဆဲလ်များ SourceRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).တန်ဖိုး နောက်တစ်ခု Application.ScreenUpdating = True End If End If End Subမက်ခရိုကို ချက်ချင်းအသုံးပြုရန်၊ ကုဒ်ပါရှိသော ကျွန်ုပ်တို့၏ နမူနာအလုပ်စာအုပ်ကို သင်ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။ သို့မဟုတ် သင့်ကိုယ်ပိုင်အလုပ်စာအုပ်တွင် ကုဒ်ကိုထည့်သွင်းနိုင်သည်။
မက်ခရိုကိုအသုံးပြုနည်း
မက်ခရိုကိုမလုပ်ဆောင်မီ၊ အောက်တွင်ဖော်ပြထားသည့်ပုံတွင်ပြထားသည့်အတိုင်းကပ်လျက်ကော်လံနှစ်ခုသို့တန်ဖိုးများကိုရိုက်ထည့်ပါ ( C2:D4)။
ထို့နောက်၊ သင်၏ရင်းမြစ်ဒေတာကိုရွေးချယ်ပါ၊ Alt + F8 ကိုနှိပ်ပါ၊ BulkReplace macro ကိုရွေးကာ Run ကိုနှိပ်ပါ။
ရင်းမြစ် rage ကို ကြိုတင်ရွေးချယ်ထားသောကြောင့် ကိုးကားချက်ကို အတည်ပြုပြီး OK ကိုနှိပ်ပါ-
ထို့နောက်၊ replace range ကိုရွေးပြီး OK ကိုနှိပ်ပါ-
ပြီးပါပြီ။
အားသာချက်များ - တစ်ကြိမ်တည်းထည့်သွင်းပါ၊ အချိန်မရွေး ပြန်သုံးပါ
အားနည်းချက်များ - မက်ခရိုကို ဒေတာတိုင်းဖြင့် လုပ်ဆောင်ရန် လိုအပ်သည်ပြောင်းလဲခြင်း
Substring tool ဖြင့် Excel တွင် အများအပြားရှာဖွေပြီး အစားထိုးခြင်း
ပထမဥပမာတွင်၊ nested SUBSTITUTE သည် Excel တွင် တန်ဖိုးများစွာကို အစားထိုးရန် အလွယ်ကူဆုံးနည်းလမ်းဖြစ်ကြောင်း ဖော်ပြခဲ့သည်။ ငါမှားခဲ့တာကို ဝန်ခံတယ်။ ကျွန်ုပ်တို့၏ Ultimate Suite သည် အရာများကို ပို၍လွယ်ကူစေသည်။
သင်၏အလုပ်စာရွက်တွင် အစုလိုက်အပြုံလိုက်အစားထိုးရန်အတွက် Ablebits Data တက်ဘ်သို့သွားပြီး Substring Tools > ကိုနှိပ်ပါ။ စာတန်းခွဲများကို အစားထိုးပါ ။
စာကြောင်းခွဲများကို အစားထိုးရန် ဒိုင်ယာလော့ဂ်ဘောက်စ်သည် အရင်းအမြစ် အပိုင်းအခြားနှင့် <1 ကို သတ်မှတ်ရန် သင့်အား တောင်းဆိုနေလိမ့်မည် ။>စာတန်းခွဲများ အပိုင်းအခြား။
အပိုင်းအခြားနှစ်ခုကို ရွေးထားခြင်းဖြင့်၊ အစားထိုး ခလုတ်ကို နှိပ်ပြီး ညာဘက်တွင် ထည့်သွင်းထားသော ကော်လံအသစ်တွင် ရလဒ်များကို ရှာဖွေပါ မူရင်းဒေတာ။ ဟုတ်ပါတယ်၊ အဲဒါက လွယ်ပါတယ်။
အကြံပြုချက်။ Replace ကို မနှိပ်မီ၊ စဉ်းစားရန် အရေးကြီးသည့်အချက်တစ်ခုရှိသည် - Case-sensitive အကွက်။ စာလုံးအကြီးနှင့် စာလုံးသေးများကို ကွဲပြားသော အက္ခရာများအဖြစ် ကိုင်တွယ်လိုပါက ၎င်းကို သေချာရွေးချယ်ပါ။ ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် စာလုံးကြီးစာလုံးများကိုသာ အစားထိုးပြီး အခြားစကားလုံးများတွင် "fr", "uk" သို့မဟုတ် "ak" ကဲ့သို့သော စာတန်းခွဲများကို ချန်ထားလိုသောကြောင့် ဤရွေးချယ်မှုကို အမှတ်ခြစ်ပါသည်။
သင်သည် စာကြောင်းများပေါ်တွင် အခြားသော အစုလိုက်လုပ်ဆောင်မှုများကို မည်သို့လုပ်ဆောင်နိုင်သည်ကို သိလိုပါက၊ ကျွန်ုပ်တို့၏ Ultimate Suite ပါရှိသော အခြားသော Substring Tools များကို စစ်ဆေးကြည့်ပါ။ ဒါမှမဟုတ် ပိုကောင်းတာက အောက်မှာ အကဲဖြတ်ဗားရှင်းကို ဒေါင်းလုဒ်လုပ်ပြီး စမ်းကြည့်ပါ။
ဒါက ဘယ်လိုရှာပြီး အစားထိုးမလဲ။Excel တွင် စကားလုံးများနှင့် စာလုံးများစွာကို တစ်ပြိုင်နက် ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင် ဖတ်ရှုပြီး နောက်အပတ်တွင် ဆုံတွေ့ခွင့်ရရန် မျှော်လင့်သည့်အတွက် ကျေးဇူးတင်ပါသည်။
ရရှိနိုင်သော ဒေါင်းလုဒ်များ
Excel (.xlsm ဖိုင်) တွင် ရှာဖွေပြီး အစားထိုးခြင်း
Ultimate Suite 14 -day အပြည့်အဝလုပ်ဆောင်နိုင်သောဗားရှင်း (.exe ဖိုင်)
အမည်များ။၎င်းကိုလုပ်ဆောင်ရန်၊ အောက်ဖော်ပြပါပုံတွင်ပြထားသည့်အတိုင်း D2:D4 တွင် တန်ဖိုးဟောင်းများနှင့် E2:E4 ရှိ တန်ဖိုးအသစ်များကို ထည့်သွင်းပါ။ ပြီးနောက်၊ အောက်ပါပုံသေနည်းကို B2 တွင်ထည့်၍ Enter နှိပ်ပါ-
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2:A10, D2, E2), D3, E3), D4, E4)
... ထို့နောက် အစားထိုးမှုအားလုံးကို တစ်ကြိမ်တည်းလုပ်ဆောင်နိုင်လိမ့်မည်-
ကျေးဇူးပြု၍ သတိပြုပါ၊ အထက်ဖော်ပြပါနည်းလမ်းသည် dynamic arrays များကို ပံ့ပိုးပေးသော Excel 365 တွင်သာ အလုပ်လုပ်ပါသည်။
Excel 2019၊ Excel 2016 နှင့် အစောပိုင်းတွင်၊ ဖော်မြူလာဖြစ်ရန် လိုအပ်ပါသည်။ ထိပ်ဆုံးဆဲလ် (B2) အတွက် ရေးပြီးနောက် အောက်ပါဆဲလ်များသို့ ကူးယူခဲ့သည်-
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)
ကျေးဇူးပြု၍ ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့သည် ဆဲလ်ကိုးကားချက်ဖြင့် အစားထိုးတန်ဖိုးများကို လုံးဝသော့ခတ်ထားသောကြောင့်၊ ဖော်မြူလာကို အောက်သို့ကူးသောအခါ ၎င်းတို့သည် မပြောင်းပါ။
မှတ်ချက်။ SUBSTITUTE လုပ်ဆောင်ချက်သည် case-sensitive ဖြစ်ပြီး ဆိုလိုသည်မှာ မူရင်းဒေတာတွင် ပေါ်လာသည့်အတိုင်း တူညီသောတန်ဖိုးများ ( old_text ) ကို ရိုက်ထည့်သင့်သည်။
ဖြစ်နိုင်သလောက် လွယ်သလောက်၊ ဤနည်းလမ်းသည် သိသာထင်ရှားသော အားနည်းချက်တစ်ခု ရှိသည် - သင့်တွင် အစားထိုးရန် ပစ္စည်းများ ဒါဇင်များစွာရှိသောအခါ၊ nested လုပ်ဆောင်ချက်များသည် စီမံခန့်ခွဲရန် အလွန်ခက်ခဲလာပါသည်။
အားသာချက်များ - လွယ်ကူသည်။ - အကောင်အထည်ဖော်ရန်; Excel ဗားရှင်းအားလုံးတွင် ပံ့ပိုးပေးသည်
အားနည်းချက်များ - တန်ဖိုးများ ကန့်သတ်ထားသော အရေအတွက်ကို ရှာဖွေ/အစားထိုးခြင်းအတွက် အသုံးပြုရန် အကောင်းဆုံး
XLOOKUP ဖြင့် ဖိုင်များစွာကို ရှာဖွေပြီး အစားထိုးပါ
<0 ဆဲလ်အကြောင်းအရာ တစ်ခုလုံးကို အစားထိုးရန် သင်ရှာဖွေနေသည့် အခြေအနေတွင်၊ ၎င်း၏ အစိတ်အပိုင်းမဟုတ်ဘဲ XLOOKUP လုပ်ဆောင်ချက်သည် အဆင်ပြေလာပါသည်။ကြပါစို့။သင့်တွင် ကော်လံ A တွင် နိုင်ငံစာရင်းတစ်ခုရှိသည်ဟု ပြောပြီး အတိုကောက်များအားလုံးကို သက်ဆိုင်ရာ အမည်အပြည့်အစုံဖြင့် အစားထိုးရန် ရည်ရွယ်သည်။ ယခင်နမူနာတွင်ကဲ့သို့၊ သင်သည် သီးခြားကော်လံများ (D နှင့် E အသီးသီး) တွင် "Find" နှင့် "အစားထိုး" အရာများကို ထည့်သွင်းခြင်းဖြင့် စတင်ပြီး 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 အကြောင်းပြောနေတာ။ ဤနည်းလမ်း၏ လှပမှုသည် အလွန်ရှည်လျားပြီး ရှုပ်ထွေးသော ဖော်မြူလာကို အလွန်ကျစ်ကျစ်လျစ်လျစ်နှင့် ရိုးရှင်းသော ပုံစံအဖြစ်သို့ ပြောင်းလဲပေးနိုင်ခြင်း ဖြစ်သည်။ ထို့အပြင်၊ ၎င်းသည် ယခင်က VBA ဖြင့်သာ ဖြစ်နိုင်ချေရှိသည့် Excel တွင်မရှိသည့် သင်၏ကိုယ်ပိုင်လုပ်ဆောင်ချက်များကို ဖန်တီးနိုင်စေပါသည်။
စိတ်ကြိုက် LAMBDA လုပ်ဆောင်ချက်များကို ဖန်တီးခြင်းနှင့် အသုံးပြုခြင်းဆိုင်ရာ အသေးစိတ်အချက်အလက်များအတွက် ကျေးဇူးပြု၍ ဤသင်ခန်းစာကို ကြည့်ပါ- မည်ကဲ့သို့ Excel တွင် LAMBDA လုပ်ဆောင်ချက်များကိုရေးရန်။ ဤတွင်၊ ကျွန်ုပ်တို့သည် လက်တွေ့ကျသောနမူနာအချို့ကို ဆွေးနွေးပါမည်။
အားသာချက်များ - ရလဒ်သည် အစားထိုးအတွဲအရေအတွက်ရှိစေကာမူ အံဝင်ခွင်ကျဖြစ်ပြီး အသုံးပြုရလွယ်ကူသော အံ့သြဖွယ်ကောင်းသော လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်
အားနည်းချက်များ - Excel 365 တွင်သာ ရရှိနိုင်ပါသည်။ အလုပ်စာအုပ်သီးသန့်ဖြစ်ပြီး မတူညီသောအလုပ်စာအုပ်များတွင် ပြန်သုံး၍မရပါ
ဥပမာ 1. တစ်ကြိမ်တည်းတွင် စကားလုံးများ/စာကြောင်းများစွာကို ရှာဖွေပြီး အစားထိုးပါ
တစ်ကြိမ်တည်းတွင် စကားလုံးအများအပြား သို့မဟုတ် စာသားများကို အစားထိုးရန်အတွက် ကျွန်ုပ်တို့သည် စိတ်ကြိုက်တစ်ခုကို ဖန်တီးထားပါသည်။ MultiReplace ဟု အမည်ပေးထားသည့် LAMBDA လုပ်ဆောင်ချက်၊ ဤပုံစံများထဲမှ တစ်ခုကို ယူနိုင်သည်-
=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))))
နှစ်ခုလုံးသည် ထပ်ခါတလဲလဲ ဖြစ်နေသည် သူတို့ကိုယ်သူတို့ခေါ်တဲ့ functions တွေ။ ခြားနားချက်မှာ ထွက်ပေါက်အမှတ်ကို တည်ဆောက်ပုံတွင်သာဖြစ်သည်။
ပထမဖော်မြူလာတွင်၊ IF function သည် old စာရင်းသည် ဗလာမဟုတ်ပါ (old"") ရှိမရှိ စစ်ဆေးပါသည်။ အမှန်ဖြစ်ပါက MultiReplace လုပ်ဆောင်ချက်ကို ခေါ်သည်။ FALSE ဖြစ်ပါက function ကို text သည် ၎င်း၏လက်ရှိပုံစံဖြစ်ပြီး ထွက်သည်။
ဒုတိယဖော်မြူလာသည် ပြောင်းပြန်ယုတ္တိကိုအသုံးပြုသည်- old သည် ဗလာဖြစ်ပါက (old="") သို့ပြန်ပို့ပါ text နှင့် ထွက်ရန်။ မဟုတ်ပါက MultiReplace ဟုခေါ်ဆိုပါ။
အခက်ဆုံးအပိုင်းပြီးပါပြီ။ သင်လုပ်ဆောင်ရန်ကျန်သည်မှာ အောက်တွင်ဖော်ပြထားသော screenshot တွင်ပြထားသည့်အတိုင်း Name Manager တွင် MultiReplace function ကို အမည်ပေးလိုက်ပါ။ အသေးစိတ် လမ်းညွှန်ချက်များအတွက် ကျေးဇူးပြု၍ LAMBDA လုပ်ဆောင်ချက်ကို အမည်ပေးနည်းကို ကြည့်ပါ။
လုပ်ဆောင်ချက်သည် အမည်တစ်ခုရရှိသည်နှင့်၊ အခြားထည့်သွင်းထားသော လုပ်ဆောင်ချက်ကဲ့သို့ပင် ၎င်းကို သင်အသုံးပြုနိုင်ပါသည်။
သင်ရွေးချယ်သည့် ဖော်မြူလာ ကွဲလွဲမှု နှစ်ခုအနက် မည်သည့်အရာကိုမဆို၊ အသုံးပြုသူ ရှုထောင့်မှ ကြည့်ပါက၊ syntax သည် ဤကဲ့သို့ ရိုးရှင်းပါသည်-
MultiReplace(စာသား၊ အဟောင်း၊ အသစ်)Where:
- စာသား - အရင်းအမြစ်ဒေတာ
- အဟောင်း - ရှာဖွေရန်တန်ဖိုးများ
- အသစ် - အစားထိုးရန် တန်ဖိုးများ
ယခင်နမူနာကို အနည်းငယ်ထပ်ယူပြီး၊ နိုင်ငံအတိုကောက်များသာမက နိုင်ငံတော်အတိုကောက်များကိုပါ အစားထိုးကြပါစို့။ ၎င်းအတွက်၊ D2 တွင် စတင်သည့် ကော်လံ D တွင် အတိုကောက်များ ( old တန်ဖိုးများ) နှင့် E2 မှအစ ကော်လံ E ရှိ အမည်အပြည့်အစုံ ( new တန်ဖိုးများ) ကို ရိုက်ထည့်ပါ။
တွင် B2၊ MultiReplace လုပ်ဆောင်ချက်ကို ထည့်ပါ-
=MultiReplace(A2:A10, D2, E2)
Enter ကိုနှိပ်ပြီး ရလဒ်များကို ခံစားကြည့်ပါ :)
ဤဖော်မြူလာ အလုပ်လုပ်ပုံ
ဖော်မြူလာကို နားလည်ခြင်း၏ သဲလွန်စမှာ ပြန်လှည့်ခြင်းကို နားလည်ခြင်း ဖြစ်သည်။ ဒါက ရှုပ်ထွေးတယ်လို့ ထင်ရပေမယ့် နိယာမကတော့ အတော်လေးရိုးရှင်းပါတယ်။ အသီးသီးiteration၊ recursive function သည် ပိုကြီးသော ပြဿနာ၏ သေးငယ်သော ဥပမာတစ်ခုကို ဖြေရှင်းပေးသည်။ ကျွန်ုပ်တို့၏အခြေအနေတွင်၊ MultiReplace လုပ်ဆောင်ချက်သည် အဟောင်းနှင့် တန်ဖိုးအသစ်များကို လှည့်ပတ်ပြီး ကွက်တစ်ခုစီဖြင့် အစားထိုးမှုတစ်ခုကို လုပ်ဆောင်သည်-
MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))
nested SUBSTITUTE လုပ်ဆောင်ချက်များကဲ့သို့၊ ယခင် SUBSTITUTE ၏ရလဒ်သည် နောက် SUBSTITUTE အတွက် text parameter ဖြစ်လာပါသည်။ တစ်နည်းအားဖြင့်၊ MultiReplace ၏ နောက်ဆက်တွဲခေါ်ဆိုမှုတိုင်းတွင်၊ SUBSTITUTE လုပ်ဆောင်ချက်သည် မူရင်းစာသားစာကြောင်းမဟုတ်သော်လည်း ယခင်ခေါ်ဆိုမှု၏ အထွက်ကို လုပ်ဆောင်ပါသည်။
<1 ရှိအရာအားလုံးကို ကိုင်တွယ်ရန်>old စာရင်း၊ ကျွန်ုပ်တို့သည် ထိပ်ဆုံးဆဲလ်ဖြင့် စတင်ပြီး အပြန်အလှန်တုံ့ပြန်မှုတစ်ခုစီဖြင့် အတန်း 1 တန်းကို အောက်သို့ရွှေ့ရန် OFFSET လုပ်ဆောင်ချက်ကို အသုံးပြုပါသည်-
OFFSET(old, 1, 0)
တူညီသည် အတွက် လုပ်ဆောင်ပါသည်။ အသစ် စာရင်း-
OFFSET(new, 1, 0)
အရေးကြီးသည်မှာ ထပ်ခါတလဲလဲခေါ်ဆိုမှုများ ထာဝစဉ်ဆက်မဖြစ်စေရန် ထွက်ပေါက်အမှတ် ကို ပံ့ပိုးပေးရန်ဖြစ်သည်။ IF လုပ်ဆောင်ချက်၏အကူအညီဖြင့် လုပ်ဆောင်သည် - old cell သည် ဗလာဖြစ်ပါက၊ function သည် text ကို ၎င်း၏ လက်ရှိပုံစံနှင့် ထွက်သည်-
=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))
သို့မဟုတ်
=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))
ဥပမာ 2. Excel တွင် စာလုံးများစွာကို အစားထိုးပါ
မူအရ၊ ယခင်ဥပမာတွင် ဆွေးနွေးထားသော MultiReplace လုပ်ဆောင်ချက်သည် လုပ်ဆောင်နိုင်သည် အထက်ဖော်ပြပါ screenshots များတွင် အတိုချုံးပြီး နာမည်အပြည့်အစုံကဲ့သို့ စာလုံးအဟောင်းနှင့် အသစ်တစ်ခုစီကို သီးခြားဆဲလ်တစ်ခုတွင် ထည့်သွင်းပေးခြင်းဖြင့် ဇာတ်ကောင်တစ်ဦးချင်းစီကိုလည်း ကိုင်တွယ်ပါ။
အဟောင်းများကို ထည့်သွင်းလိုပါက၊ဆဲလ်တစ်ခုရှိ ဇာတ်ကောင်များနှင့် အခြားဆဲလ်တစ်ခုရှိ ဇာတ်ကောင်အသစ်များ သို့မဟုတ် ၎င်းတို့ကို ဖော်မြူလာတွင် တိုက်ရိုက်ရိုက်ထည့်ပါ၊ ထို့နောက် ဤဖော်မြူလာများထဲမှ တစ်ခုကို အသုံးပြု၍ 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))))
ပုံမှန်အတိုင်း Name Manager တွင် သင်၏ Lambda လုပ်ဆောင်ချက်အသစ်ကို အမည်ပေးရန် သတိရပါ-
သင်၏စိတ်ကြိုက်လုပ်ဆောင်ချက်အသစ်သည် အသုံးပြုရန်အဆင်သင့်ဖြစ်နေပါပြီ-
ReplaceChars(စာသား၊ old_chars၊ new_chars)Where:
- Text - မူရင်းစာကြောင်းများ
- အဟောင်း - ရှာဖွေရန် ဇာတ်ကောင်များ
- အသစ် - အစားထိုးရန် ဇာတ်ကောင်များ
၎င်းကို အကွက်စမ်းသပ်ရန်၊ တင်သွင်းထားသော ဒေတာများတွင် မကြာခဏ လုပ်ဆောင်လေ့ရှိသည့် အရာတစ်ခုကို လုပ်ကြပါစို့ - စမတ်ကိုးကားချက်များနှင့် စမတ်ကျသော သင်္ကေတများကို ဖြောင့်စင်းသော ကိုးကားချက်နှင့် နိဂုံးအဖြောင့်များဖြင့် အစားထိုးပါ။
ဦးစွာ၊ ကျွန်ုပ်တို့သည် D2 တွင် စမတ်ကိုးကားချက်များနှင့် စမတ် apostrophe ကို D2၊ ဖြောင့်ကိုးကားချက်များနှင့် E2 တွင် ဖြောင့်တန်းသော apostrophe တို့ကို ထည့်သွင်းပါ ပိုမိုကောင်းမွန်စွာဖတ်ရှုနိုင်စေရန်အတွက် စာလုံးများကို space များဖြင့် ပိုင်းခြားပါ။ (ဆဲလ်နှစ်ခုစလုံးတွင် တူညီသောမျဉ်းသားချက်ကို ကျွန်ုပ်တို့အသုံးပြုသည်နှင့်အမျှ ၎င်းသည် ရလဒ်အပေါ် သက်ရောက်မှုရှိမည်မဟုတ်ပါ - Excel သည် နေရာလွတ်တစ်ခုဖြင့် နေရာလွတ်တစ်ခုကိုသာ အစားထိုးပါမည်။)
ထို့နောက်၊ ကျွန်ုပ်တို့သည် ဤဖော်မြူလာကို B2 တွင် ထည့်သွင်းပါ-
=ReplaceChars(A2:A4, D2, E2)
ကျွန်ုပ်တို့ရှာဖွေနေသောရလဒ်များကိုအတိအကျရယူပါ-
ဖော်မြူလာတွင်စာလုံးများကိုတိုက်ရိုက်ရိုက်ထည့်နိုင်သည်။ ကျွန်ုပ်တို့၏အခြေအနေတွင်၊ ဤကဲ့သို့သောဖြောင့်ကိုးကားချက်များကို "ပွား" ရန် မမေ့ပါနှင့်-
=ReplaceChars(A2:A4, "“ ” ’", """ "" '")
ဤဖော်မြူလာအလုပ်လုပ်ပုံ
The ReplaceChars လုပ်ဆောင်ချက်သည် 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 string ကို အကဲဖြတ်သည် . ၎င်းသည် ဗလာမဟုတ်ပါက၊ function သည် သူ့အလိုလိုခေါ်သည်။ နောက်ဆုံးအက္ခရာကို အစားထိုးပြီးသည်နှင့် တပြိုင်နက် ထပ်တလဲလဲလုပ်ဆောင်ခြင်း ပြီးဆုံးသည်၊ ဖော်မြူလာသည် စာသား ၎င်းကို ၎င်း၏ လက်ရှိပုံစံနှင့် ထွက်သည်။
မှတ်ချက်။ ကျွန်ုပ်တို့၏ ပင်မဖော်မြူလာများတွင် အသုံးပြုသည့် SUBSTITUTE လုပ်ဆောင်ချက်သည် စာလုံးအသေး-အထိခိုက်မခံ ဖြစ်သောကြောင့်၊ Lambdas ( MultiReplace နှင့် ReplaceChars ) သည် စာလုံးကြီးနှင့် စာလုံးသေးများကို မတူညီသောအက္ခရာများအဖြစ် ဆက်ဆံပါသည်။
UDF ဖြင့် အစုလိုက်အပြုံလိုက် ရှာဖွေပြီး အစားထိုးပါ
သင်၏ Excel တွင် LAMBDA လုပ်ဆောင်ချက်ကို မရရှိနိုင်ပါက၊ VBA ကို အသုံးပြု၍ သမားရိုးကျနည်းဖြင့် အစားထိုးမှုပေါင်းများစွာအတွက် အသုံးပြုသူသတ်မှတ်ထားသော လုပ်ဆောင်ချက်တစ်ခုကို သင်ရေးသားနိုင်ပါသည်။
UDF ကို LAMBDA-သတ်မှတ်ထားသော MultiReplace လုပ်ဆောင်ချက်နှင့် ခွဲခြားရန်၊ ကျွန်ုပ်တို့သည် ၎င်းကို ကွဲပြားစွာ အမည်ပေးမည်၊ MassReplace ဟု ပြောပါ။ လုပ်ဆောင်ချက်၏ကုဒ်မှာ အောက်ပါအတိုင်းဖြစ်သည်-
လုပ်ဆောင်ချက် MassReplace(InputRng As Range၊ FindRng As Range၊ ReplaceRng As Range) As Variant () DimarRes() ရလဒ်များကိုသိမ်းဆည်းရန် Variant 'array အဖြစ် Dim arSearchReplace(), sTmp As String' အတွဲများကို ရှာဖွေရန်/အစားထိုးသည့်နေရာ၊ ယာယီစာကြောင်း Dim iFindCurRow၊ cntFindRows As Long 'အညွှန်း' SearchReplace array ၏ လက်ရှိအတန်း၏ အညွှန်းကိန်း၊ အတန်းများ၏ Dim iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long 'အညွှန်း' အရင်းအမြစ်အကွာအဝေးရှိ လက်ရှိအတန်း၏အညွှန်း၊ ရင်းမြစ်အပိုင်းအခြားရှိ လက်ရှိကော်လံအညွှန်း၊ အတန်းအရေအတွက်၊ ကော်လံအရေအတွက် cntInputRows = InputRng.Rows.Count cntInputCols = InputRng .Columns.Count cntFindRows = FindRng.Rows.Count ReDim arRes(1 To cntInputRows, 1 To cntInputCols) ReDim arSearchReplace(1 To cntFindRows, 1 to 2) 'ရှာဖွေခြင်း/အစားထိုးခြင်းအတွဲများ =iFindCurntCurnt(iFindCurntRow အတွက်အတွဲများ) ပြင်ဆင်နေသည် iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).တန်ဖိုး arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1)။တန်ဖိုး နောက်တစ်ခု 'iInputCurRow အတွက် အရင်းအမြစ်အကွာအဝေးတွင် ရှာဖွေခြင်းနှင့် အစားထိုးခြင်း 'iInputCurRow 'Input1CurRow 'InputCurRow' အတွက် 1 သို့ cntInputCols sTm p = InputRng.Cells(iInputCurRow၊ iInputCurCol)။တန်ဖိုး 'ဆဲလ်တစ်ခုစီရှိ အတွဲများကို ရှာဖွေခြင်း/အစားထိုးခြင်း အတွဲများအားလုံးကို အစားထိုးခြင်း For iFindCurRow = 1 ရန် cntFindRows sTmp = Replace(sTmp, arSearchReplace(iFindCurRow, 1), FindCurRow, 1) , FindRearch (iInputCurRow, iInputCurCol) = sTmp Next Next MassReplace = arRes End FunctionLAMBDA သတ်မှတ်ထားသော လုပ်ဆောင်ချက်များကဲ့သို့ UDF များသည် workbook-wide ဖြစ်သည်။ ဆိုလိုသည်မှာ၊