د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

څنګه د فورمولونو سره د حوالې لیست سره سم متن په چټکۍ سره او په لویه کچه بدل کړئ - موږ دمخه یې ترتیب کړی دی. اوس راځئ هڅه وکړو چې دا د پاور پوښتنې کې ترسره کړو.

لکه څنګه چې ډیری وختونه پیښیږي ترسره کول دا کار د تشریح کولو په پرتله خورا اسانه دی ولې دا کار کوي، مګر راځئ هڅه وکړو چې دواړه ترسره کړو 🙂

نو، موږ دوه "سمارټ" متحرک میزونه لرو چې د کیبورډ شارټ کټ سره د عادي رینجونو څخه جوړ شوي Ctrl+T یا ټیم کور - د میز په توګه بڼه (کور – د جدول په بڼه):

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

ما لومړی میز ته زنګ وواهه د معلوماتو ددوهم جدول – Directoryد ډګر په کارولو د میز نوم (د جدول نوم) ټوپ جوړونکی (ډیزاین).

دنده: په جدول کې پتې بدل کړئ د معلوماتو د ټول پیښې د کالم څخه پیدا کول لاسی کتاب د کالم څخه د دوی اړوند سمو همکارانو ته متبادل. په حجرو کې پاتې متن باید ناڅاپه پاتې شي.

مرحله 1. ډایرکټر د پاور پوښتنې ته پورته کړئ او په لیست کې یې واړوئ

د حوالې جدول کې هر ځای ته د فعال حجرې تنظیم کولو سره ، په ټب کلیک وکړئ د معلوماتو د (نیټه)یا په ټب کې د بریښنا پوښتنه (که تاسو د ایکسل پخوانی نسخه لرئ او تاسو په جلا ټب کې د اضافې په توګه د پاور پوښتنې نصب کړی) په تڼۍ کې د میز / رینج څخه (د جدول/رینج څخه).

د حوالې جدول به د بریښنا پوښتنې پوښتنې مدیر ته پورته شي:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

د دې لپاره چې مداخله ونکړي، یو په اتوماتيک ډول اضافه شوی ګام بدل شوی ډول (بدل شوی ډول) په ښي پینل کې ، پلي شوي مرحلې په خوندي ډول حذف کیدی شي ، یوازې مرحله پریږدي سرچینه (سرچینه):

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

اوس، د نورو بدلونونو او بدیلونو ترسره کولو لپاره، موږ باید دا جدول په لیست (لست) بدل کړو.

شعري تحلیل

مخکې له دې چې دوام ورکړو، راځئ چې لومړی په شرایطو پوه شو. د بریښنا پوښتنه کولی شي د څو ډوله شیانو سره کار وکړي:
  • جدول یو دوه اړخیزه لړۍ ده چې د څو قطارونو او کالمونو څخه جوړه ده.
  • ریکارډ (ریکارډ) - یو اړخیز سرې تار، چې د نومونو سره د څو برخو عناصر لري، د بیلګې په توګه [نوم = "ماشا"، جنس = "ف"، عمر = 25]
  • بشپړفهرست - یو اړخیز سري کالم، د بیلګې په توګه، د څو عناصرو څخه جوړ دی {، ،، ،، ،، ،}} or { "باور هیله مینه" }

زموږ د ستونزې د حل لپاره، موږ به په ابتدايي ډول د ډول سره علاقه ولرو بشپړفهرست.

دلته چال دا دی چې د پاور پوښتنې کې لیست توکي نه یوازې د بندیز شمیرې یا متن کیدی شي ، بلکه نور لیستونه یا ریکارډونه هم کیدی شي. دا په داسې یو پیچلي لیست (لیست) کې دی، د ریکارډونو (ریکارډونو) څخه جوړ دی چې موږ باید خپل لارښود بدل کړو. د پاور پوښتنې نحوي نوټیشن کې (په مربع قوسونو کې ننوتنې، په کرلي قوسونو کې لیستونه) دا به داسې ښکاري:

{

    موندل = "St. پیټرزبورګ"، بدله = "سینټ. پیټرزبورګ"] ,

    موندل = "St. پیټرزبورګ"، بدله = "سینټ. پیټرزبورګ"] ,

    موندل = "پیټر"، ځای په ځای کول = "سینټ. پیټرزبورګ"] ,

او داسې نور

}

دا ډول بدلون د M ژبې د ځانګړي فعالیت په کارولو سره ترسره کیږي چې د بریښنا پوښتنې کې رامینځته شوی - جدول.ټول ریکارډونه. دا په مستقیم ډول په فارمول بار کې پلي کولو لپاره ، دا فنکشن هلته د مرحلې کوډ کې اضافه کړئ سرچینه.

دا وه:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

وروسته:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

د Table.ToRecords فعالیت اضافه کولو وروسته، زموږ د میز بڼه به بدلون ومومي - دا به د ریکارډونو لیست بدل شي. د انفرادي ریکارډونو مینځپانګې د لید پین په ښکته برخه کې د هرې کلمې څنګ ته د حجرې شالید کې کلیک کولو سره لیدل کیدی شي ریکارډ (مګر په یوه کلمه کې نه!)

د پورتني سربیره ، دا معنی لري چې یو بل سټروک اضافه کړئ - زموږ رامینځته شوي لیست کیچ (بفر) ته. دا به د پاور پوښتنې دې ته اړ کړي چې زموږ د لټون لیست یو ځل په حافظه کې پورته کړي او بیا یې حساب نه کړي کله چې موږ وروسته د دې ځای په ځای کولو لپاره لاسرسی ومومئ. د دې کولو لپاره، زموږ فورمول په بل فعالیت کې وتړئ - لیست. بفر:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

دا ډول کیشینګ به په سرعت کې خورا د پام وړ زیاتوالی ورکړي (څو ځله!) د لوی مقدار لومړني ډیټا پاکولو سره.

دا د لاسي کتاب چمتو کول بشپړوي.

دا د کلیک کولو لپاره پاتې دی کور - بند او بار کول - بند او بار ته… (کور - بند او بار - بند او بار ته ..)، یو اختیار غوره کړئ یوازې اړیکه جوړه کړئ (یوازې پیوستون جوړ کړئ) او بیرته Excel ته.

2 ګام. د معلوماتو جدول پورته کول

دلته هر څه خپه دي. لکه څنګه چې مخکې د حوالې کتاب سره، موږ په جدول کې هر ځای ته پورته کیږو، په ټب باندې کلیک وکړئ د معلوماتو د تڼی له جدول/رینج څخه او زموږ میز د معلوماتو د د بریښنا پوښتنې ته ځي. په اتوماتيک ډول اضافه شوی ګام بدل شوی ډول (بدل شوی ډول) تاسو هم لرې کولی شئ:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

د دې سره ترسره کولو لپاره هیڅ ځانګړي چمتووالي ته اړتیا نشته ، او موږ خورا مهم شی ته ځو.

3 ګام. د لیست په کارولو سره ځای پرځای کول ترسره کړئ

راځئ چې د کمانډ په کارولو سره زموږ د ډیټا جدول کې حساب شوي کالم اضافه کړو د کالم اضافه کول - دودیز کالم (کالم اضافه کړئ - دودیز کالم): او په هغه کړکۍ کې چې خلاصیږي د اضافه شوي کالم نوم دننه کړئ (د مثال په توګه، سمه پته) او زموږ د جادو فعالیت لیست. جمع کول:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

دا د کلیک کولو لپاره پاتې دی OK - او موږ د جوړ شوي بدیلونو سره یو کالم ترلاسه کوو:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

هغه یاداښت کړه:

  • څرنګه چې د پاور پوښتنې قضیه حساسه ده، نو په پای کې هیڅ ځای نه و، ځکه چې په لارښود کې موږ "SPb" لرو، نه "SPb".
  • که چیرې د سرچینې ډیټا کې په یوځل کې د ځای په ځای کولو لپاره ډیری فرعي سټینګونه شتون ولري (د مثال په توګه ، په 7مه کرښه کې تاسو اړتیا لرئ دواړه "S-Pb" او "Prospectus" ځای په ځای کړئ) ، نو دا کومه ستونزه نه رامینځته کوي (د فارمولونو سره بدلولو برعکس. پخوانۍ طریقه).
  • که چیرې د سرچینې متن (نهمه کرښه) کې د ځای په ځای کولو لپاره هیڅ شی شتون ونلري، نو بیا هیڅ غلطی نه پیښیږي (برعکس، بیا، د فورمول لخوا بدلولو څخه).

د داسې غوښتنې سرعت خورا خورا ښه دی. د مثال په توګه، د 5000 قطارونو اندازې سره د ابتدايي معلوماتو میز لپاره، دا پوښتنه د یوې ثانیې څخه لږ وخت کې تازه شوه (پرته له بفر کولو، په لاره کې، شاوخوا 3 ثانیې!)

د List.Accumulate فعالیت څنګه کار کوي

په اصولو کې، دا کیدای شي د دې مقالې پای وي (زما د لیکلو لپاره، او ستاسو د لوستلو لپاره). که تاسو غواړئ چې نه یوازې وړتیا ولرئ، بلکې په دې هم پوه شئ چې دا څنګه د "هوډ لاندې" کار کوي، نو تاسو باید د خرگوش سوري کې لږ ژور ډوب کړئ او د لیست سره معامله وکړئ. زموږ لپاره کار وکړئ.

د دې فنکشن لپاره ترکیب دا دی:

= لیست. جمع کول(لست, تخم, جمع کوونکی)

هلته

  • لست هغه لیست دی چې عناصر یې موږ تکرار کوو. 
  • تخم - لومړنی حالت
  • جمع کوونکی - یو فنکشن چې د لیست په راتلونکي عنصر کې ځینې عملیات (ریاضي، متن، او نور) ترسره کوي او په ځانګړي متغیر کې د پروسس پایله راټولوي.

په عموم کې، د پاور پوښتنې کې د کارونو لیکلو نحو داسې ښکاري:

(argument1, argument2, … argumentN) => ځینې کړنې د دلیلونو سره

د مثال په توګه، د مجموعې فعالیت په لاندې ډول ښودل کیدی شي:

(a, b) => a + b

د List.Accumulate لپاره، دا جمع کونکي فنکشن دوه اړین دلیلونه لري (دوی ته هر څه نوم ورکول کیدی شي، مګر معمول نومونه دي دولت и اوسنيلکه څنګه چې د دې فنکشن لپاره رسمي مرستې کې، چیرته چې:

  • دولت - یو متغیر چیرې چې پایله راټولیږي (د دې لومړني ارزښت هغه دی چې پورته یې یادونه وشوه تخم)
  • اوسني - د لیست څخه بل تکرار شوی ارزښت لست

د مثال په توګه، راځئ چې د لاندې ساختماني منطق مرحلې ته یوه کتنه وکړو:

= لیست. جمع کول({، ،، ،}}, 10, (ریاست، اوسنی) => حالت + اوسنی)

  1. متغیر ارزښت دولت د لومړني دلیل سره مساوي ټاکل شوی تخمIe حالت = 10
  2. موږ د لیست لومړی عنصر اخلو (اوسنی = 3) او دا په متغیر کې اضافه کړئ دولت (لس). موږ ترلاسه کوو حالت = 13.
  3. موږ د لیست دوهم عنصر اخلو (اوسنی = 2) او جمع یې په متغیر کې اوسني جمع شوي ارزښت ته دولت (لس). موږ ترلاسه کوو حالت = 15.
  4. موږ د لیست دریم عنصر اخلو (اوسنی = 5) او جمع یې په متغیر کې اوسني جمع شوي ارزښت ته دولت (لس). موږ ترلاسه کوو حالت = 20.

دا وروستی جمع شوی دی دولت ارزښت زموږ لیست دی. په پایله کې فعالیت او محصول راټول کړئ:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

که تاسو لږ تصور وکړئ، نو د لیست.Accumulate فنکشن په کارولو سره، تاسو کولی شئ د مثال په توګه، د Excel فنکشن CONCATENATE (په پاور پوښتنې کې، د دې انالوګ په نوم یادیږي. متن. ګډ کړئ) د بیان په کارولو سره:

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

یا حتی د اعظمي ارزښت لپاره لټون وکړئ (د ایکسل د MAX فعالیت تقلید ، کوم چې د پاور پوښتنې په نوم یادیږي List.Max):

د بریښنا پوښتنې په لیست کې د لوی متن ځای په ځای کول

په هرصورت، د List.Accumulate اصلي ځانګړتیا د دې وړتیا ده چې نه یوازې ساده متن یا شمیري لیستونه د دلیلونو په توګه پروسس کړي، مګر ډیر پیچلي شیان - د بیلګې په توګه، د لیست څخه لیست یا لیستونه - له ریکارډ څخه (سلام، لارښود!)

راځئ یوځل بیا هغه ساختمان ته وګورو چې زموږ په ستونزه کې یې بدیل ترسره کړ:

لیست جمع کول(Directory, [پته], (state,current) => Text. Replace(state, current[موندئ], current[بدلول]) )

دلته واقعیا څه روان دي؟

  1. د لومړني ارزښت په توګه (تخم) موږ د کالم څخه لومړی بې بنسټه متن اخلو [پته] زموږ میز: 199034، سینټ پیټرزبورګ، str. بیرینګا، د. 1
  2. بیا لیست. یو په یو د لیست عناصرو باندې تکرارونه راټول کړئ - لاسی کتاب. د دې لیست هر عنصر یو ریکارډ دی چې د یوې جوړې ساحو څخه جوړ دی "څه شی ومومئ - څه شی سره بدل کړئ" یا په بل عبارت، په لارښود کې راتلونکی کرښه.
  3. د جمع کونکي فنکشن په یو متغیر کې اچوي دولت لومړنی ارزښت (لومړی پته 199034، سینټ پیټرزبورګ، str. بیرینګا، د. 1) او په دې کې د جمع کونکي فعالیت ترسره کوي - د معیاري M فنکشن په کارولو سره د بدیل عملیات متن بدل کړئ (د Excel د SUBSTITUTE فعالیت سره ورته والی). ترکیب یې دا دی:

    متن بدل کړئ (اصلي متن، هغه څه چې موږ یې په لټه کې یو، هغه څه چې موږ یې ځای په ځای کوو)

    او دلته موږ لرو:

    • دولت زموږ خندا پته ده، چې پروت دی دولت (له هغه ځایه رسیدل تخم)
    • اوسنی[لټون] - د ساحې ارزښت پیدا کول د لیست د راتلونکي تکرار شوي ننوتلو څخه Directory، کوم چې په متغیر کې پروت دی اوسني
    • اوسنی[بدلون] - د ساحې ارزښت متبادل د لیست د راتلونکي تکرار شوي ننوتلو څخه Directoryپروت اوسني

په دې توګه، د هرې پتې لپاره، په ډایرکټر کې د ټولو لینونو د شمیرلو بشپړ دوره هر ځل چلیږي، د [لټون] ساحې څخه متن د [بدلون] ساحې ارزښت سره بدلوي.

هیله ده نظر مو ترلاسه کړی وي 🙂

  • د فورمولونو په کارولو سره په لیست کې متن بدل کړئ
  • د بریښنا پوښتنې کې منظم بیانونه (RegExp).

یو ځواب ورکړئ ووځي