အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ဆဲလ်များစွာမှ စာသားများကို တစ်လုံးထဲသို့ မြန်မြန်ဆန်ဆန် ပေါင်းစည်းပုံနှင့် ရှည်လျားသော စာကြောင်းများကို အစိတ်အပိုင်းများအဖြစ် ခွဲခြမ်းစိတ်ဖြာနိုင်ပုံကို ကျွန်တော်ရေးထားပြီးဖြစ်သည်။ ယခု အနီးစပ်ဆုံးဖြစ်သော်လည်း အနည်းငယ်ပိုရှုပ်ထွေးသောအလုပ်တစ်ခုကို ကြည့်ကြပါစို့ - သတ်မှတ်ထားသောအခြေအနေတစ်ခုပြည့်မီသောအခါ ဆဲလ်များစွာမှ စာသားကို ကော်တင်နည်း။ 

ကုမ္ပဏီအမည်တစ်ခုသည် ၎င်း၏ဝန်ထမ်းများ၏ မတူညီသောအီးမေးလ်များစွာနှင့် သက်ဆိုင်သည့် ကုမ္ပဏီအမည်တစ်ခုသည် သုံးစွဲသူများ၏ ဒေတာဘေ့စ်တစ်ခုရှိသည်ဆိုကြပါစို့။ ကျွန်ုပ်တို့၏တာဝန်မှာ လိပ်စာအားလုံးကို ကုမ္ပဏီအမည်များဖြင့် စုဆောင်းပြီး ၎င်းတို့ကို (ကော်မာ သို့မဟုတ် ဆီမီးကော်လံများဖြင့် ပိုင်းခြားထားသည်) ဥပမာအားဖြင့်၊ ဖောက်သည်များအတွက် စာပို့စာရင်းတစ်ခု၊ ဆိုလိုသည်မှာ ထုတ်ပေးမှုကို ရယူရန်၊

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

တစ်နည်းဆိုရသော်၊ အခြေအနေအရ စာသားကို ကော် (လင့်ခ်) ပေးမည့် ကိရိယာတစ်ခု - လုပ်ဆောင်ချက်၏ analogue တစ်ခု လိုအပ်ပါသည်။ SUMMESLI (SUMIF)ဒါပေမယ့် စာသားအတွက်ပါ။

နည်းလမ်း 0. ဖော်မြူလာ

သိပ်မကြော့ပေမယ့် အလွယ်ဆုံးနည်း။ နောက်အတန်းရှိ ကုမ္ပဏီသည် ယခင်တစ်ခုနှင့် မတူကြောင်း စစ်ဆေးမည့် ရိုးရှင်းသော ဖော်မြူလာကို သင်ရေးသားနိုင်သည်။ မကွဲပြားပါက၊ ကော်မာဖြင့်ခြားထားသော နောက်လိပ်စာကို ကော်ပါ။ ကွဲပြားပါက၊ ကျွန်ုပ်တို့သည် စုဆောင်းထားသော အရာကို ပြန်လည်သတ်မှတ်ပြီး ထပ်မံ၍ စတင်သည်-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ဤချဉ်းကပ်မှု၏ အားနည်းချက်များမှာ သိသာထင်ရှားသည်- ရရှိထားသော ထပ်လောင်းကော်လံများ၏ ဆဲလ်များအားလုံးမှ ကုမ္ပဏီတစ်ခုစီအတွက် နောက်ဆုံးတစ်ခု (အဝါရောင်) ကိုသာ လိုအပ်ပါသည်။ စာရင်းသည် ကြီးပါက၊ ၎င်းတို့ကို အမြန်ရွေးချယ်ရန်အတွက်၊ လုပ်ဆောင်ချက်ကို အသုံးပြု၍ အခြားကော်လံကို ထည့်သွင်းရမည်ဖြစ်ပါသည်။ DLSTR (Лен)စုဆောင်းထားသော စာကြောင်းများ၏ အရှည်ကို စစ်ဆေးခြင်း-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ယခုသင်သည် ၎င်းတို့ကို စစ်ထုတ်ပြီး နောက်ထပ်အသုံးပြုရန်အတွက် လိုအပ်သော လိပ်စာကို ကော်ပီကူးနိုင်ပါသည်။

နည်းလမ်း 1. အခြေအနေတစ်ခုဖြင့် ကော်လုပ်ခြင်း၏ Macrofunction

မူရင်းစာရင်းကို ကုမ္ပဏီက စီမခွဲထားပါက၊ အထက်ဖော်ပြပါ ရိုးရှင်းသောဖော်မြူလာသည် အလုပ်မဖြစ်ပါ၊ သို့သော် VBA တွင် စိတ်ကြိုက်လုပ်ဆောင်မှုလေးတစ်ခုဖြင့် သင်အလွယ်တကူ ရနိုင်သည်။ ကီးဘုတ်ဖြတ်လမ်းကိုနှိပ်ခြင်းဖြင့် Visual Basic Editor ကိုဖွင့်ပါ။ alt + F11 သို့မဟုတ် ခလုတ်ကို အသုံးပြုခြင်း။ Visual Basic tab ကို ဆော့ဖ်ဝဲရေး (ပြုစုသူ). ပွင့်လာသောဝင်းဒိုးတွင်၊ မီနူးမှတဆင့် ဗလာ module အသစ်တစ်ခုကိုထည့်ပါ။ Module ထည့်သွင်းပါ။ ပြီးလျှင် ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်၏ စာသားကို ထိုနေရာတွင် ကူးယူပါ။

Function MergeIf(TextRange As Range၊ SearchRange As Range၊ Condition As String) Dim Delimeter as String၊ i As Long Delimeter = "," gluings များသည် တစ်ခုနှင့်တစ်ခု မညီပါ - SearchRange.Count <> TextRange.Count ဆိုလျှင် အမှားတစ်ခုဖြင့် ထွက်မည် ထို့နောက် MergeIf = CVErr(xlErrRef) Exit Function End အကယ်၍ 'ဆဲလ်များအားလုံးကို ဖြတ်သွားပါက၊ အခြေအနေအား စစ်ဆေးပြီး ကွဲပြားနိုင်သော OutText For i = 1 သို့ SearchRange တွင် စာသားကို စုဆောင်းပါ။ Cells.Count if SearchRange.Cells(i) အခြေအနေ ကြိုက်တယ် ပြီးရင် OutText = OutText & TextRange.Cells(i) & Delimeter နောက်တစ်ခု i 'နောက်ဆုံး မျဉ်းမကန့်သတ်ဘဲ MergeIf = Left(OutText၊ Len(OutText) - Len(Delimeter)) End လုပ်ဆောင်ချက်  

အကယ်၍ သင်သည် ယခု Microsoft Excel သို့ပြန်သွားပါက လုပ်ဆောင်ချက်များစာရင်းတွင် (ခလုတ်ကိုနှိပ်ပါ။ fx ဖော်မြူလာဘား သို့မဟုတ် တက်ဘ်တွင် ဖော်မြူလာများ – လုပ်ဆောင်ချက် ထည့်သွင်းပါ။) ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို ရှာတွေ့နိုင်မည်ဖြစ်သည်။ ပေါင်းစည်းပါ။ အမျိုးအစားထဲမှာ အသုံးပြုသူသတ်မှတ်သည် (အသုံးပြုသူ သတ်မှတ်ထားသည်). လုပ်ဆောင်ချက်အတွက် အကြောင်းပြချက်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

နည်းလမ်း ၂။ မတိကျသောအခြေအနေဖြင့် စာသားကို ပေါင်းစပ်ပါ။

ကျွန်ုပ်တို့၏ macro ၏ 13th line တွင် ပထမဇာတ်ကောင်ကို အစားထိုးပါက၊ = အနီးစပ်ဆုံး ကိုက်ညီမှု အော်ပရေတာဆီသို့ ကဲ့သို့ထို့နောက် ရွေးချယ်မှုစံနှုန်းဖြင့် ကနဦးဒေတာ၏ မတိကျသော တိုက်ဆိုင်မှုဖြင့် ကပ်ထားနိုင်မည်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ ကုမ္ပဏီအမည်ကို ပုံစံအမျိုးမျိုးဖြင့် ရေးသားနိုင်လျှင် ၎င်းတို့အားလုံးကို လုပ်ဆောင်ချက်တစ်ခုတည်းဖြင့် စစ်ဆေးစုဆောင်းနိုင်သည်-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

စံနမူနာကတ်များကို ပံ့ပိုးထားသည်-

  • ခရေပွင့် (*) – မည်သည့် စာလုံး အရေအတွက်ကိုမဆို (၎င်းတို့၏ မရှိခြင်း အပါအဝင်) ကို ရည်ညွှန်းသည်။
  • မေးခွန်းအမှတ်အသား (?) – စာလုံးတစ်လုံးချင်းကို ကိုယ်စားပြုသည်။
  • ပေါင်သင်္ကေတ (#) – ဂဏန်းတစ်လုံး (၀-၉) ကို ကိုယ်စားပြုသည်။

မူရင်းအားဖြင့်၊ Like အော်ပရေတာသည် အသေးစိပ်အချက်အချာဖြစ်ပြီး ဥပမာအားဖြင့်၊ "Orion" နှင့် "orion" တို့ကို မတူညီသောကုမ္ပဏီများအဖြစ် နားလည်သည်။ ကိစ္စရပ်ကို လျစ်လျူရှုရန်၊ Visual Basic တည်းဖြတ်မှုတွင် module ၏အစတွင် စာကြောင်းကို သင်ထည့်နိုင်သည်။ ရွေးချယ်စရာ စာသားနှိုင်းယှဉ်Like to be case insensitive သို့ပြောင်းပါမည်။

ဤနည်းအားဖြင့် သင်သည် အခြေအနေများကို စစ်ဆေးရန်အတွက် အလွန်ရှုပ်ထွေးသော မျက်နှာဖုံးများကို ရေးဖွဲ့နိုင်သည်၊ ဥပမာ-

  • ?1##??777RUS – 777 မှစတင်၍ 1 ဒေသ၏ လိုင်စင်နံပါတ်ပြားအားလုံးကို ရွေးချယ်ခြင်း
  • LLC* - LLC ဖြင့် စတင်သော အမည်ရှိသော ကုမ္ပဏီများအားလုံး
  • ##7## – တတိယဂဏန်းသည် 7 ဖြစ်ပြီး ဂဏန်းငါးလုံးပါသော ဒစ်ဂျစ်တယ်ကုဒ်ပါသည့် ထုတ်ကုန်အားလုံး
  • ????? - စာလုံးငါးလုံး၏အမည်များ စသည်တို့ဖြစ်သည်။

နည်းလမ်း 3. အခြေအနေနှစ်ခုအောက်တွင် စာသားကို ချိတ်ထားရန်အတွက် Macro လုပ်ဆောင်ချက်

အခြေအနေတစ်ခုထက်ပိုသော စာသားကို ချိတ်ဆက်ရန် လိုအပ်သည့်အခါ အလုပ်တွင် ပြဿနာရှိနိုင်သည်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့၏ယခင်ဇယားတွင်၊ မြို့နှင့်အတူ နောက်ထပ်ကော်လံတစ်ခုကို ပေါင်းထည့်ထားပြီး၊ ပေးထားသောကုမ္ပဏီအတွက်သာမက ပေးထားသည့်မြို့အတွက်ပါ ကပ်ထားသင့်သည်ဟု စိတ်ကူးကြည့်ကြပါစို့။ ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို ၎င်းတွင် အခြားအကွာအဝေးစစ်ဆေးမှုကို ထည့်သွင်းခြင်းဖြင့် အနည်းငယ် ခေတ်မီအောင် လုပ်ဆောင်ရပါမည်-

Function MergeIfs(TextRange As Range၊ SearchRange1 As Range၊ Condition1 As String၊ SearchRange2 As Range၊ Condition2 As String) Dim Delimeter as String၊ i As Long Delimeter = ", " ' အနားသတ်စာလုံးများ ( space သို့မဟုတ် ; etc.) e.) 'အတည်ပြုချက်နှင့် ချိတ်ထားသော အပိုင်းအခြားများသည် တစ်ခုနှင့်တစ်ခု မညီပါက၊ SearchRange1.Count <> TextRange.Count သို့မဟုတ် SearchRange2.Count <> TextRange.Count ထို့နောက် MergeIfs = CVERr(xlErrRef) ထွက်ရန် လုပ်ဆောင်ချက် ပြီးဆုံးပါက၊ 'ဆဲလ်များအားလုံးကို ဖြတ်၍ အခြေအနေအားလုံးကို စစ်ဆေးပြီး စာသားကို ပြောင်းလဲနိုင်သော OutText For i = 1 To SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 ထို့နောက် OutText = OutText & TextRange.Cells(i) & Delimeter End အကယ်၍ နောက်တစ်ခု i 'နောက်ဆုံး ကန့်သတ်ချက်မရှိသော ရလဒ်များကို ပြသပါ MergeIfs = Left(OutText၊ Len(OutText) - Len(Delimeter)) End Function  

၎င်းကို အတိအကျတူညီသောနည်းဖြင့် အသုံးချမည် - ယခု အကြောင်းပြချက်များသာ ပိုမိုသတ်မှတ်ရန် လိုအပ်သည်-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

နည်းလမ်း 4။ Power Query တွင် အုပ်စုဖွဲ့ခြင်းနှင့် ကပ်ခြင်း။

အခမဲ့ Power Query add-in ကိုအသုံးပြုပါက VBA တွင် ပရိုဂရမ်မတင်ဘဲ ပြဿနာကို သင်ဖြေရှင်းနိုင်ပါသည်။ Excel 2010-2013 အတွက် ၎င်းကို ဤနေရာတွင် ဒေါင်းလုဒ်လုပ်နိုင်ပြီး Excel 2016 တွင် ၎င်းကို မူရင်းအတိုင်း တည်ဆောက်ထားပြီးဖြစ်သည်။ လုပ်ဆောင်ချက်များ၏ အတွဲလိုက်မှာ အောက်ပါအတိုင်း ဖြစ်ပါလိမ့်မည်။

Power Query သည် ပုံမှန်ဇယားများနှင့် မည်သို့လုပ်ဆောင်ရမည်ကို မသိပါ၊ ထို့ကြောင့် ကျွန်ုပ်တို့၏ဇယားကို "စမတ်" တစ်ခုအဖြစ်သို့ ပြောင်းလဲရန် ပထမအဆင့်ဖြစ်သည်။ ဒီလိုလုပ်ဖို့၊ အဲဒါကို ရွေးပြီး ပေါင်းစပ်မှုကို နှိပ်ပါ။ Ctrl ++T သို့မဟုတ် တက်ဘ်မှ ရွေးချယ်ပါ။ ပင်မ – ဇယားအဖြစ် ဖော်မတ်ပါ။ (ပင်မ – ဇယားအဖြစ် ပုံစံဖော်ပါ). ပြီးရင်ပေါ်လာတဲ့ tab ပေါ်မှာ လုပ်ငန်းခွင် (ဒီဇိုင်း) ဇယားအမည်ကို သင်သတ်မှတ်နိုင်သည်။ စားပွဲတင် 1):

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ယခုကျွန်ုပ်တို့၏ဇယားကို Power Query add-in ထဲသို့ထည့်လိုက်ကြပါစို့။ ဒါကိုလုပ်ဖို့၊ တက်ဘ်ပေါ်မှာ ဒေတာများ (သင့်တွင် Excel 2016 ရှိပါက) သို့မဟုတ် Power Query tab တွင် (သင့်တွင် Excel 2010-2013 ရှိလျှင်) ကိုနှိပ်ပါ။ စားပွဲပေါ်ကနေ (ဒေတာ — ဇယားမှ):

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ပေါ်လာသော query editor ဝင်းဒိုးတွင်၊ ခေါင်းစီးကိုနှိပ်ခြင်းဖြင့် ကော်လံကိုရွေးချယ်ပါ။ ကုမ္ပဏီ အပေါ်ကခလုတ်ကိုနှိပ်ပါ။ Group က (အုပ်စုအလိုက်). ကော်လံအသစ်၏အမည်နှင့် အုပ်စုဖွဲ့ခြင်းတွင် လုပ်ဆောင်မှုအမျိုးအစားကို ထည့်ပါ - လိုင်းအားလုံး (အတန်းအားလုံး):

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

OK ကိုနှိပ်ပြီး ကုမ္ပဏီတစ်ခုစီအတွက် အုပ်စုဖွဲ့တန်ဖိုးများ အသေးစားဇယားတစ်ခုကို ကျွန်ုပ်တို့ရရှိသည်။ ရလဒ်ကော်လံရှိ ဆဲလ်များ၏အဖြူရောင်နောက်ခံ (စာသားပေါ်တွင်မဟုတ်) ကို ဘယ်ကလစ်နှိပ်ပါက ဇယားများ၏အကြောင်းအရာများကို ရှင်းရှင်းလင်းလင်းမြင်နိုင်သည်-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

ယခု နောက်ထပ် ကော်လံတစ်ခု ထပ်ထည့်လိုက်ရအောင်၊ လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကော်မာများဖြင့် ခြားထားသော ဇယားအသေးတစ်ခုစီရှိ လိပ်စာကော်လံများ၏ အကြောင်းအရာများကို ကော်မာများဖြင့် ပေါင်းစပ်လိုက်ပါသည်။ ဒါကိုလုပ်ဖို့၊ တက်ဘ်ပေါ်မှာ ကော်လံထည့်ပါ ငါတို့နှိပ်တယ်။ စိတ်ကြိုက်ကော်လံ (ကော်လံထည့်ပါ — စိတ်ကြိုက်ကော်လံ) ပေါ်လာသည့်ဝင်းဒိုးတွင်၊ Power Query တွင်တည်ဆောက်ထားသော M ဘာသာစကားရှိ ကော်လံအသစ်၏အမည်နှင့် ပူးတွဲဖော်မြူလာကို ထည့်ပါ-

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

M-functions များအားလုံးသည် case sensitive (Excel နှင့်မတူ) ကိုသတိပြုပါ။ နှိပ်ပြီးနောက် OK ကော်လံလိပ်စာများပါရှိသော ကော်လံအသစ်တစ်ခုကို ကျွန်ုပ်တို့ရရှိသည်။

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

မလိုအပ်တဲ့ ကော်လံကို ဖယ်ရှားဖို့ ကျန်နေပါသေးတယ်။ ဇယားလိပ်စာများ (ခေါင်းစဉ်ပေါ်တွင် right click နှိပ်ပါ) ကော်လံကိုဖျက်ပါ။) tab ကိုနှိပ်ပြီး ရလဒ်များကို စာရွက်ပေါ်သို့ အပ်လုဒ်လုပ်ပါ။ နေအိမ် - ပိတ်ပြီး ဒေါင်းလုဒ်လုပ်ပါ။ (အိမ် - ပိတ်ပြီး တင်ပါ):

အခြေအနေအလိုက် စာသားကို ချည်နှောင်ခြင်း။

အရေးကြီးသောကွဲလွဲချက်− ယခင်နည်းလမ်းများ (လုပ်ဆောင်ချက်များနှင့် မတူဘဲ) Power Query မှ ဇယားများကို အလိုအလျောက် အပ်ဒိတ်လုပ်မည်မဟုတ်ပါ။ အနာဂတ်တွင် အရင်းအမြစ်ဒေတာတွင် အပြောင်းအလဲများရှိလာပါက၊ ရလဒ်ဇယားရှိ မည်သည့်နေရာတွင်မဆို ညာဖက်ကလစ်နှိပ်ပြီး အမိန့်ကို ရွေးချယ်ရန် လိုအပ်မည်ဖြစ်သည်။ အပ်ဒိတ် & သိမ်းဆည်းပါ။ (ပြန်လည်ဆန်းသစ်).

  • ရှည်လျားသော စာကြောင်းတစ်ကြောင်းကို အပိုင်းများခွဲနည်း
  • မတူညီသောဆဲလ်များမှ စာသားများကို တစ်ခုတည်းအဖြစ် ပေါင်းစပ်ရန် နည်းလမ်းများစွာ
  • မျက်နှာဖုံးနှင့် စာသားကို စမ်းသပ်ရန် Like အော်ပရေတာကို အသုံးပြုခြင်း။

တစ်ဦးစာပြန်ရန် Leave