کړی
څنګه د فورمولونو سره د حوالې لیست سره سم متن په چټکۍ سره او په لویه کچه بدل کړئ - موږ دمخه یې ترتیب کړی دی. اوس راځئ هڅه وکړو چې دا د پاور پوښتنې کې ترسره کړو.
لکه څنګه چې ډیری وختونه پیښیږي ترسره کول دا کار د تشریح کولو په پرتله خورا اسانه دی ولې دا کار کوي، مګر راځئ هڅه وکړو چې دواړه ترسره کړو 🙂
نو، موږ دوه "سمارټ" متحرک میزونه لرو چې د کیبورډ شارټ کټ سره د عادي رینجونو څخه جوړ شوي 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, (ریاست، اوسنی) => حالت + اوسنی)
- متغیر ارزښت دولت د لومړني دلیل سره مساوي ټاکل شوی تخمIe حالت = 10
- موږ د لیست لومړی عنصر اخلو (اوسنی = 3) او دا په متغیر کې اضافه کړئ دولت (لس). موږ ترلاسه کوو حالت = 13.
- موږ د لیست دوهم عنصر اخلو (اوسنی = 2) او جمع یې په متغیر کې اوسني جمع شوي ارزښت ته دولت (لس). موږ ترلاسه کوو حالت = 15.
- موږ د لیست دریم عنصر اخلو (اوسنی = 5) او جمع یې په متغیر کې اوسني جمع شوي ارزښت ته دولت (لس). موږ ترلاسه کوو حالت = 20.
دا وروستی جمع شوی دی دولت ارزښت زموږ لیست دی. په پایله کې فعالیت او محصول راټول کړئ:
که تاسو لږ تصور وکړئ، نو د لیست.Accumulate فنکشن په کارولو سره، تاسو کولی شئ د مثال په توګه، د Excel فنکشن CONCATENATE (په پاور پوښتنې کې، د دې انالوګ په نوم یادیږي. متن. ګډ کړئ) د بیان په کارولو سره:
یا حتی د اعظمي ارزښت لپاره لټون وکړئ (د ایکسل د MAX فعالیت تقلید ، کوم چې د پاور پوښتنې په نوم یادیږي List.Max):
په هرصورت، د List.Accumulate اصلي ځانګړتیا د دې وړتیا ده چې نه یوازې ساده متن یا شمیري لیستونه د دلیلونو په توګه پروسس کړي، مګر ډیر پیچلي شیان - د بیلګې په توګه، د لیست څخه لیست یا لیستونه - له ریکارډ څخه (سلام، لارښود!)
راځئ یوځل بیا هغه ساختمان ته وګورو چې زموږ په ستونزه کې یې بدیل ترسره کړ:
لیست جمع کول(Directory, [پته], (state,current) => Text. Replace(state, current[موندئ], current[بدلول]) )
دلته واقعیا څه روان دي؟
- د لومړني ارزښت په توګه (تخم) موږ د کالم څخه لومړی بې بنسټه متن اخلو [پته] زموږ میز: 199034، سینټ پیټرزبورګ، str. بیرینګا، د. 1
- بیا لیست. یو په یو د لیست عناصرو باندې تکرارونه راټول کړئ - لاسی کتاب. د دې لیست هر عنصر یو ریکارډ دی چې د یوې جوړې ساحو څخه جوړ دی "څه شی ومومئ - څه شی سره بدل کړئ" یا په بل عبارت، په لارښود کې راتلونکی کرښه.
- د جمع کونکي فنکشن په یو متغیر کې اچوي دولت لومړنی ارزښت (لومړی پته 199034، سینټ پیټرزبورګ، str. بیرینګا، د. 1) او په دې کې د جمع کونکي فعالیت ترسره کوي - د معیاري M فنکشن په کارولو سره د بدیل عملیات متن بدل کړئ (د Excel د SUBSTITUTE فعالیت سره ورته والی). ترکیب یې دا دی:
متن بدل کړئ (اصلي متن، هغه څه چې موږ یې په لټه کې یو، هغه څه چې موږ یې ځای په ځای کوو)
او دلته موږ لرو:
- دولت زموږ خندا پته ده، چې پروت دی دولت (له هغه ځایه رسیدل تخم)
- اوسنی[لټون] - د ساحې ارزښت پیدا کول د لیست د راتلونکي تکرار شوي ننوتلو څخه Directory، کوم چې په متغیر کې پروت دی اوسني
- اوسنی[بدلون] - د ساحې ارزښت متبادل د لیست د راتلونکي تکرار شوي ننوتلو څخه Directoryپروت اوسني
په دې توګه، د هرې پتې لپاره، په ډایرکټر کې د ټولو لینونو د شمیرلو بشپړ دوره هر ځل چلیږي، د [لټون] ساحې څخه متن د [بدلون] ساحې ارزښت سره بدلوي.
هیله ده نظر مو ترلاسه کړی وي 🙂
- د فورمولونو په کارولو سره په لیست کې متن بدل کړئ
- د بریښنا پوښتنې کې منظم بیانونه (RegExp).