LAMBDA Excel جو نئون سپر فنڪشن آهي

هن وقت، Microsoft Excel ۾ لڳ ڀڳ پنج سئو ورڪ شيٽ موجود آهن فنڪشنل وزرڊ ونڊو-بٽن ذريعي fx فارمولا بار ۾. هي هڪ تمام مهذب سيٽ آهي، پر، ان جي باوجود، تقريبن هر صارف جلد يا بعد ۾ هڪ اهڙي صورتحال کي منهن ڏئي ٿو جتي هن لسٽ ۾ هن فنڪشن تي مشتمل ناهي جنهن جي هن کي ضرورت آهي - صرف ان ڪري ته اهو Excel ۾ ناهي.

هن وقت تائين، هن مسئلي کي حل ڪرڻ جو واحد طريقو ميڪرو هو، يعني Visual Basic ۾ پنهنجو يوزر ڊيفائنڊ فنڪشن (UDF = User Defined Function) لکڻ، جنهن لاءِ پروگرامنگ جي مناسب صلاحيتن جي ضرورت آهي ۽ ڪڏهن ڪڏهن، بلڪل آسان ناهي. بهرحال، جديد Office 365 اپڊيٽس سان، صورتحال بهتر لاءِ تبديل ٿي وئي آهي - هڪ خاص ”ريپر“ فنڪشن ايڪسل ۾ شامل ڪيو ويو آهي. LAMBDA. ان جي مدد سان، توهان جي پنهنجي فنڪشن ٺاهڻ جو ڪم هاڻي آساني سان ۽ سهڻي طريقي سان حل ڪيو ويو آهي.

اچو ته هيٺ ڏنل مثال ۾ ان جي استعمال جي اصول تي نظر.

جئين توهان تمام گهڻو ڄاڻو ٿا، ايڪسل ۾ ڪيترائي تاريخ پارسنگ افعال آهن جيڪي توهان کي ڏنل تاريخ لاء ڏينهن، مهيني، هفتي ۽ سال جو تعداد طئي ڪرڻ جي اجازت ڏين ٿا. پر ڪجهه سببن لاءِ ڪو به ڪم نه آهي جيڪو چوٿون نمبر جو تعين ڪري ٿو، جيڪو پڻ اڪثر گهربل آهي، صحيح؟ اچو ته هن گهٽتائي کي درست ڪريون ۽ ان سان ٺاهيو LAMBDA هن مسئلي کي حل ڪرڻ لاء پنهنجي نئين فنڪشن.

قدم 1. فارمولا لکو

اچو ته حقيقت سان شروع ڪريون ته دستي طور تي معمولي طريقي سان اسان هڪ فارمولا لکنداسين شيٽ سيل ۾ جيڪو حساب ڪري ٿو جيڪو اسان کي گهربل آهي. چوٿين نمبر جي صورت ۾، اهو ٿي سگهي ٿو، مثال طور، هن وانگر:

LAMBDA Excels New Super Function آهي

قدم 2. LAMBDA ۾ لپڻ ۽ جانچ

ھاڻي اھو وقت آھي نئين LAMBDA فنڪشن کي لاڳو ڪرڻ ۽ ان ۾ اسان جو فارمولا لپايو. فنڪشن نحو هن ريت آهي:

= LAMBDA(متغير1; متغير2؛ ... متغير اين ; تاثر)

جتي هڪ يا وڌيڪ متغيرن جا نالا پهرين درج ٿيل آهن، ۽ آخري دليل هميشه هڪ فارمولا يا هڪ حساب ڪيل اظهار آهي جيڪو انهن کي استعمال ڪري ٿو. متغير نالن کي سيل پتي وانگر نه ڏسڻ گهرجي ۽ ڊٽس تي مشتمل نه هجڻ گهرجي.

اسان جي صورت ۾، اتي صرف هڪ متغير هوندو - اها تاريخ جنهن لاءِ اسان ٽه ماهي نمبر ڳڻيو. اچو ته ان لاء variable سڏين ٿا، چئو، ڊي. ان کان پوء اسان جي فارمولا کي هڪ فنڪشن ۾ لپيندي LAMBDA ۽ اصل سيل A2 جي ايڊريس کي جعلي متغير نالي سان متبادل ڪندي، اسان حاصل ڪريون ٿا:

LAMBDA Excels New Super Function آهي

مهرباني ڪري نوٽ ڪريو ته اهڙي تبديلي کان پوء، اسان جو فارمولا (حقيقت ۾، صحيح!) هڪ غلطي پيدا ڪرڻ شروع ڪيو، ڇاڪاڻ ته هاڻي سيل A2 کان اصل تاريخ ان ڏانهن منتقل نه ڪئي وئي آهي. جاچ ۽ اعتماد لاءِ، توھان ان ۾ دليلن کي پاس ڪري سگھو ٿا انھن کي فنڪشن کان پوءِ شامل ڪري LAMBDA قوس ۾:

LAMBDA Excels New Super Function آهي

قدم 3. نالو ٺاھيو

هاڻي آسان ۽ مزيدار حصو لاء. اسان کوليو نالي وارو مئنيجر ٽئب فارمولا (فارمولا - نالو مئنيجر) ۽ بٽڻ سان نئون نالو ٺاھيو ٺاهيو (ٺاهيو). اچو ۽ اسان جي مستقبل جي فنڪشن لاءِ نالو داخل ڪريو (مثال طور، Nomkvartala)، ۽ ميدان ۾ لنڪ (حوالو) احتياط سان فارمولا بار مان ڪاپي ڪريو ۽ اسان جي فنڪشن کي پيسٽ ڪريو LAMBDAصرف آخري دليل کان سواءِ (A2):

LAMBDA Excels New Super Function آهي

سڀ ڪجهه. تي ڪلڪ ڪرڻ کان پوء OK ٺهيل فنڪشن هن ورڪ بڪ جي ڪنهن به شيٽ تي ڪنهن به سيل ۾ استعمال ڪري سگهجي ٿو:

LAMBDA Excels New Super Function آهي

ٻين ڪتابن ۾ استعمال ڪريو

ڇاڪاڻ ته ان سان ٺهيل آهي LAMBDA جيئن ته صارف پاران بيان ڪيل افعال، حقيقت ۾، نالي واريون حدون آهن، توهان انهن کي آساني سان دستياب ڪري سگهو ٿا نه رڳو موجوده ورڪ بڪ ۾. اهو ڪافي ٿيندو ته سيل کي فنڪشن سان نقل ڪريو ۽ ان کي ٻئي فائل جي شيٽ ۾ ڪٿي به پيسٽ ڪريو.

LAMBDA ۽ متحرڪ صفون

ڪسٽم فنڪشن هڪ فنڪشن سان ٺهيل آهي LAMBDA نئين متحرڪ صفن ۽ انهن جي ڪمن سان ڪاميابيءَ سان ڪم جي حمايت (FILTER, UNIK, گريڊ2020 ۾ Microsoft Excel ۾ شامل ڪيو ويو.

اچو ته چئون ته اسان هڪ نئين صارف جي وضاحت ڪيل فنڪشن ٺاهڻ چاهيون ٿا جيڪو ٻن فهرستن جو مقابلو ڪري ۽ انهن جي وچ ۾ فرق واپس آڻيندي - پهرين فهرست مان اهي عنصر جيڪي ٻئي ۾ نه آهن. زندگي جو ڪم، آهي نه؟ اڳي، هن لاءِ اهي يا ته فنڪشن استعمال ڪندا هئا a la VPR (VLOOKUP), or PivotTables , or Power Query queries. هاڻي توهان هڪ فارمولا سان ڪري سگهو ٿا:

LAMBDA Excels New Super Function آهي

انگريزي ورزن ۾ اهو ٿيندو:

=LAMBDA(a;b;ФИЛЬТР(a;СЧЁТЕСЛИ(b;a)=0))(A1:A6;C1:C10)

هتي فنڪشن COUNTIF پهرين لسٽ جي هر عنصر جي واقعن جو تعداد شمار ڪري ٿو سيڪنڊ ۾، ۽ پوءِ فنڪشن FILTER انهن مان صرف انهن کي چونڊيو جيڪي اهي واقعا نه هئا. هن ڍانچي کي لپيٽڻ سان LAMBDA ۽ ان جي بنياد تي ھڪڙي نالي جي حد ٺاھيو، مثال طور، ڳولا جي تقسيم - اسان هڪ آسان فنڪشن حاصل ڪنداسين جيڪو هڪ متحرڪ صف جي صورت ۾ ٻن فهرستن جي مقابلي جو نتيجو ڏئي ٿو:

LAMBDA Excels New Super Function آهي

جيڪڏهن ماخذ ڊيٽا عام نه آهي، پر "سمارٽ" جدولن، اسان جو فنڪشن به بغير ڪنهن مسئلن کي منهن ڏيندو:

LAMBDA Excels New Super Function آهي

ٻيو مثال متحرڪ طور تي متن کي XML ۾ تبديل ڪندي ۽ پوءِ ان کي سيل ذريعي سيل ذريعي پارس ڪرڻ آهي FILTER.XML فنڪشن جيڪو اسان تازو ئي پارس ڪيو آهي. هن پيچيده فارمولا کي هر دفعي دستي طور تي ٻيهر پيدا نه ڪرڻ لاءِ، ان کي LAMBDA ۾ لپائڻ ۽ ان جي بنياد تي هڪ متحرڪ رينج ٺاهڻ آسان ٿيندو، يعني هڪ نئون ڪمپيڪٽ ۽ آسان فنڪشن، ان جو نالو ڏيڻ، مثال طور، RAZDTEXT:

LAMBDA Excels New Super Function آهي

هن فنڪشن جو پهريون دليل ماخذ ٽيڪسٽ سان سيل هوندو، ۽ ٻيو - جدا ڪندڙ ڪردار، ۽ اهو نتيجو هڪ افقي متحرڪ صف جي صورت ۾ واپس ڪندو. فنڪشنل ڪوڊ هن ريت هوندو:

= LAMBDA(t;d؛ TRANSPOSE(FILTER.XML(“"&متبادل(t;d؟ "«)&»"؛"//Y")))

مثالن جي فهرست لامحدود آهي - ڪنهن به صورتحال ۾ جتي توهان کي اڪثر اهو ساڳيو ڊگهو ۽ پيچيده فارمولا داخل ڪرڻو پوندو، LAMBDA فنڪشن زندگي کي آسان بڻائي ڇڏيندو.

اکرن جو بار بار ڳڻپ

سڀني پوئين مثالن ۾ صرف هڪ ڏيکاريو ويو آهي، سڀ کان وڌيڪ واضح، LAMBDA فنڪشن جو هڪ پاسو - ان جو استعمال "ريپر" جي طور تي ان ۾ ڊگهي فارمولن کي لپائڻ ۽ انهن جي ان پٽ کي آسان ڪرڻ لاء. حقيقت ۾، LAMBDA وٽ هڪ ٻيو، تمام گهڻو اونهو، پاسي آهي جيڪو ان کي تقريبا هڪ مڪمل پروگرامنگ ٻولي ۾ تبديل ڪري ٿو.

حقيقت اها آهي ته LAMBDA افعال جي بنيادي طور تي اهم خصوصيت انهن کي لاڳو ڪرڻ جي صلاحيت آهي مفاهمت - حساب جي منطق، جڏهن حساب جي عمل ۾ فنڪشن پاڻ کي سڏيندو آهي. عادت کان، اهو خوفناڪ آواز ٿي سگهي ٿو، پر پروگرامنگ ۾، تکرار هڪ عام شيء آهي. جيتوڻيڪ Visual Basic ۾ ميڪرو ۾، توهان ان کي لاڳو ڪري سگهو ٿا، ۽ هاڻي، جيئن توهان ڏسي سگهو ٿا، اهو اچي چڪو آهي Excel ڏانهن. اچو ته هن ٽيڪنڪي کي عملي مثال سان سمجهڻ جي ڪوشش ڪريون.

فرض ڪريو اسان هڪ صارف جي بيان ڪيل فنڪشن ٺاهڻ چاهيون ٿا جيڪو سڀني ڏنل اکرن کي ماخذ متن مان هٽائي ڇڏيندو. اهڙي فنڪشن جي افاديت، مان سمجهان ٿو، توهان کي ثابت ڪرڻ جي ضرورت ناهي - ان جي مدد سان ڀريل ان پٽ ڊيٽا کي صاف ڪرڻ تمام آسان ٿيندو، صحيح؟

بهرحال، اڳئين، غير ٻيهر ورجائيندڙ مثالن جي مقابلي ۾، ٻه مشڪلاتون اسان جي انتظار ۾ آهن.

  1. اسان کي ان جو ڪوڊ لکڻ شروع ڪرڻ کان اڳ اسان جي فنڪشن لاءِ نالو ڏيڻو پوندو، ڇاڪاڻ ته ان ۾، اهو نالو اڳ ۾ ئي فنڪشن کي سڏڻ لاءِ استعمال ڪيو ويندو.
  2. LAMBDA (جيئن اسان اڳ ۾ ڪيو آهي) کان پوءِ بریکٹس ۾ دليلن جي وضاحت ڪندي سيل ۾ اهڙي ٻيهر ورجائيندڙ فنڪشن داخل ڪرڻ ۽ ان کي ڊيبگ ڪرڻ ڪم نه ڪندو. توهان کي فوري طور تي "شروع کان" ۾ هڪ فنڪشن ٺاهڻو پوندو نالي وارو مئنيجر (نالو مئنيجر).

اچو ته اسان جي فنڪشن کي ڪال ڪريون، چئو، CLEAN ۽ اسان چاهيون ٿا ته ان ۾ ٻه دليل هجن - متن کي صاف ڪيو وڃي ۽ خارج ٿيل اکرن جي فهرست هڪ ٽيڪسٽ اسٽرنگ جي طور تي:

LAMBDA Excels New Super Function آهي

اچو ته ٺاهيو، جيئن اسان اڳ ۾ ڪيو، ٽيب تي فارمولا в نالو مينيجر نالي واري حد، ان کي نالو ڏيو CLEAR ۽ داخل ڪريو فيلڊ ۾ حد هيٺين تعمير:

= LAMBDA(t؛d؛IF(d=""؛t؛CLEAR(SUBSTITUTE(t؛ کاٻي(d)؛""؛ MID(d؛2؛255))))

هتي متغير t اصل متن کي صاف ڪيو وڃي ٿو، ۽ d اکر جي فهرست آهي جنهن کي ختم ڪيو وڃي.

اهو سڀ ڪجهه هن طرح ڪم ڪري ٿو:

ورهاي 1

ٽڪرو SUBSTITUTE(t;LEFT(d);"")، جيئن توھان اندازو لڳائي سگھو ٿا، سيٽ ڊي مان کاٻي اکرن مان پھرين اکر کي مٽائي ٿو ماخذ ٽيڪسٽ t ۾ ختم ٿيڻ لاءِ خالي ٽيڪسٽ اسٽرنگ سان، يعني ھٽائي ٿو " الف”. وچولي نتيجي طور، اسان حاصل ڪريون ٿا:

Vsh zkz n 125 روبل.

ورهاي 2

پوءِ فنڪشن پاڻ کي ڪال ڪري ٿو ۽ ان پٽ جي طور تي (پهريون دليل) حاصل ڪري ٿو جيڪو پوئين مرحلي ۾ صاف ڪرڻ کان پوءِ بچيو آهي، ۽ ٻيو دليل خارج ٿيل اکرن جو اسٽرنگ آهي جيڪو پهرين کان نه، پر ٻئي ڪردار کان شروع ٿئي ٿو، يعني “BVGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYYA. "ابتدائي "A" کان سواء - اهو MID فنڪشن طرفان ڪيو ويندو آهي. اڳي وانگر، فنڪشن پهرين ڪردار کي کاٻي پاسي کان وٺي ٿو باقي بچيل (B) ۽ ان کي ڏنل متن ۾ تبديل ڪري ٿو (Zkz n 125 rubles) هڪ خالي اسٽرنگ سان - اسان هڪ وچولي نتيجو حاصل ڪندا آهيون:

125 رو.

ورهاي 3

فنڪشن پاڻ کي ٻيهر سڏيندو آهي، پهرين دليل جي طور تي وصول ڪيو ويو آهي ته متن مان ڇا رهجي ويو آهي پوئين ورهاڱي تي صاف ڪيو وڃي (Bsh zkz n 125 ru.)، ۽ ٻئي دليل جي طور تي، خارج ٿيل اکرن جي سيٽ کي هڪ وڌيڪ ڪردار ذريعي ڪٽيو ويو. کاٻي، يعني "VGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYUYA."، شروعاتي "B" کان سواء. ان کان پوء اهو ٻيهر پهريون ڪردار کاٻي پاسي کان وٺي ٿو (B) هن سيٽ مان ۽ ان کي متن مان هٽائي ٿو - اسان حاصل ڪريون ٿا:

sh zkz n 125 ru.

۽ ائين ئي - مون کي اميد آهي ته توهان اهو خيال حاصل ڪيو. هر ورجائي سان، اکرن جي لسٽ کي ختم ڪيو ويندو، کاٻي پاسي کان ڪٽيو ويندو، ۽ اسين ڳولينداسين ۽ ايندڙ ڪردار کي سيٽ مان خالي سان تبديل ڪنداسين.

جڏهن سڀئي ڪردار ختم ٿي ويندا، اسان کي لوپ مان نڪرڻو پوندو - اهو ڪردار صرف فنڪشن ذريعي ڪيو ويندو آهي IF (جيڪڏهن)، جنهن ۾ اسان جي ڊيزائن لپي وئي آهي. جيڪڏهن حذف ڪرڻ لاءِ ڪي به اکر باقي نه بچيا آهن (d=””)، ته پوءِ فنڪشن کي هاڻي پاڻ کي نه سڏڻ گهرجي، پر صرف متن کي صاف ڪرڻ لاءِ واپس ڪرڻ گهرجي (متغير t) ان جي آخري شڪل ۾.

سيلز جي ٻيهر ورجائي ورجائي

اهڙي طرح، توهان هڪ ڏنل حد ۾ سيلز جي ٻيهر ورهاڱي واري ڳڻپ کي لاڳو ڪري سگهو ٿا. فرض ڪريو اسان هڪ ليمبڊا فنڪشن نالي ٺاهڻ چاهيون ٿا متبادل فهرست ڏنل حوالن جي فهرست مطابق ماخذ متن ۾ ٽڪرن جي هول سيل متبادل لاءِ. نتيجو هن طرح ڏسڻ گهرجي:

LAMBDA Excels New Super Function آهي

اهي. اسان جي فنڪشن تي متبادل فهرست اتي ٽي دليل هوندا:

  1. سيل متن سان عمل ڪرڻ لاءِ (ذريعو پتو)
  2. ھڪڙي ڪالمن جو پھريون سيل جنھن ۾ قدرن سان ڳولھڻ لاءِ
  3. ڪالمن جو پھريون سيل ڳوليو مان متبادل قدرن سان

فنڪشن کي ڊاريڪٽري ۾ مٿين کان هيٺان وڃڻ گهرجي ۽ ترتيب سان سڀني اختيارن کي کاٻي ڪالمن مان تبديل ڪرڻ گهرجي لهڻ ساڄي ڪالمن مان لاڳاپيل اختيارن ڏانهن سقراط. توھان ھن کي لاڳو ڪري سگھوٿا ھيٺ ڏنل ريسرسيو لامبڊا فنڪشن سان:

LAMBDA Excels New Super Function آهي

هتي، متغير t ايندڙ ڪالمن سيل مان اصل متن کي محفوظ ڪري ٿو ائڊريس، ۽ متغير n ۽ z ڪالمن ۾ پهرين سيلز ڏانهن اشارو ڪن ٿا لهڻ и سقراط، ترتيب ڏنو.
جيئن پوئين مثال ۾، هي فنڪشن پهريون ڀيرو اصل متن کي فنڪشن سان تبديل ڪري ٿو سبسٽيٽيوٽ (متبادل) ڊاريڪٽري جي پهرين لائن تي ڊيٽا (يعني ايس بي بيon سينٽ پيٽرسبرگ)، ۽ پوءِ پاڻ کي سڏين ٿا، پر ڊاريڪٽري ۾ ڦيرڦار سان ھيٺئين لائن ڏانھن (يعني بدلائي ٿو. سينٽ پيٽرسبرگ on سينٽ پيٽرسبرگ). پوءِ پاڻ کي ٻيهر سڏي ٿو هڪ شفٽ ھيٺ سان - ۽ اڳ ۾ ئي مٽائي ٿو پطرس on سينٽ پيٽرسبرگ وغيره.

شفٽ ھيٺ ھر ھڪڙي ورجائي تي لاڳو ٿئي ٿو معياري ايڪسل فنڪشن خارج ڪرڻ (آفسيٽ)، جنهن ۾ هن صورت ۾ ٽي دليل آهن - اصل حد، قطار شفٽ (1) ۽ ڪالمن شفٽ (0).

خير، جيئن ئي اسان ڊاريڪٽري جي پڄاڻيءَ تي پهچون ٿا (n = “”)، اسان کي ورجائي ختم ڪرڻ گهرجي- اسان پنهنجو پاڻ کي سڏڻ بند ڪريون ٿا ۽ ڏيکاريون ٿا ته ماخذ ٽيڪسٽ متغير ۾ سڀني تبديلين کان پوءِ ڇا جمع ٿيو آهي.

اهو ئي سڀ ڪجهه آهي. ڪو به مشڪل ميڪرو يا پاور سوالن جا سوال - سڄو ڪم هڪ فنڪشن ذريعي حل ڪيو ويو آهي.

  • ايڪسل جي نئين متحرڪ صفن کي ڪيئن استعمال ڪجي: FILTER، SORT، UNIC
  • SUBSTITUTE فنڪشن سان متن کي تبديل ڪرڻ ۽ صاف ڪرڻ
  • VBA ۾ ميڪرو ۽ صارف جي وضاحت ڪيل فنڪشن (UDFs) ٺاهڻ

جواب ڇڏي وڃو