ʻO LAMBDA ka hana hou o Excel

I kēia manawa, aia ʻo Microsoft Excel ma kahi o ʻelima haneli mau hana pepa i loaʻa ma o ka pukaaniani Function Wizard - pihi fx ma ka papa kuhikuhi. He hoʻonohonoho maikaʻi loa kēia, akā naʻe, kokoke i kēlā me kēia mea hoʻohana ma hope a i ʻole e hālāwai me kahi kūlana i loaʻa ʻole i kēia papa inoa ka hana e pono ai - no ka mea ʻaʻole ia ma Excel.

Aia a hiki i kēia manawa, ʻo ke ala wale nō e hoʻoponopono ai i kēia pilikia he macros, ʻo ia hoʻi ke kākau ʻana i kāu hana ponoʻī i wehewehe ʻia e ka mea hoʻohana (UDF = User Defined Function) ma Visual Basic, e koi ana i nā mākau hoʻolālā kūpono a, i kekahi manawa, ʻaʻole maʻalahi loa. Eia naʻe, me nā mea hou o ka Office 365 hou, ua loli ke kūlana no ka maikaʻi - ua hoʻohui ʻia kahi hana "wrapper" kūikawā i Excel. LAMBDA. Me kāna kōkua, ua maʻalahi a nani ka hana o ka hana ʻana i kāu mau hana ponoʻī.

E nana kakou i ka loina o kona hoohana ana ma keia laana.

E like me kāu e ʻike ai, loaʻa iā Excel kekahi mau hana parsing lā e hiki ai iā ʻoe ke hoʻoholo i ka helu o ka lā, mahina, pule, a me ka makahiki no kahi lā i hāʻawi ʻia. Akā, no kekahi kumu, ʻaʻohe hana e hoʻoholo ai i ka helu o ka hapaha, ʻo ia ka mea e pono pinepine ai, ʻaʻole? E hoʻoponopono kākou i kēia hemahema a hana pū me LAMBDA hana hou e hoʻoponopono i kēia pilikia.

KaʻAnuʻu 1. Kākau i ke kumu

E hoʻomaka me ka ʻoiaʻiʻo ma ke ʻano maʻamau e kākau mākou i kahi formula i loko o kahi cell sheet e helu ana i nā mea e pono ai mākou. I ka hihia o ka helu hapahā, hiki ke hana i kēia, no ka laʻana, e like me kēia:

ʻO LAMBDA ka Excels New Super Function

KaʻAnuʻu Hana 2. Wrapping i LAMBDA a me ka hoao ana

ʻO ka manawa kēia e hoʻopili ai i ka hana LAMBDA hou a hoʻopaʻa i kā mākou formula i loko. ʻO ka syntax hana penei:

=LAMBDA(Hoʻololi1; Hoʻololi2; … HoʻololiN ; olelo)

kahi i helu mua ʻia ai nā inoa o hoʻokahi a ʻoi aʻe paha, a ʻo ka hoʻopaʻapaʻa hope he ʻano maʻamau a i ʻole he huaʻōlelo helu e hoʻohana ana ia mau mea. ʻAʻole pono nā inoa hoʻololi e like me nā helu kelepona a ʻaʻole pono nā kiko.

I kā mākou hihia, hoʻokahi wale nō hoʻololi - ka lā e helu ai mākou i ka helu hapaha. E kāhea kākou i ka hoʻololi no ia mea, e ʻōlelo, d. A laila e hoʻopili i kā mākou formula i kahi hana LAMBDA a hoʻololi i ka helu wahi o ka cell A2 mua me kahi inoa hoʻololi fictitious, loaʻa iā mākou:

ʻO LAMBDA ka Excels New Super Function

E ʻoluʻolu, ma hope o ka hoʻololi ʻana, ua hoʻomaka kā mākou kumu (ʻoiaʻiʻo, pololei!) e hana i kahi hewa, no ka mea ʻaʻole i hoʻololi ʻia ka lā kumu mai ka cell A2 iā ia. No ka hoʻāʻo a me ka hilinaʻi, hiki iā ʻoe ke hāʻawi i nā hoʻopaʻapaʻa iā ia ma ka hoʻohui ʻana iā lākou ma hope o ka hana LAMBDA i loko o nā pale:

ʻO LAMBDA ka Excels New Super Function

KaʻAnuʻu 3. E hana i kahi inoa

I kēia manawa no ka māhele maʻalahi a leʻaleʻa. Wehe mākou Luna Hoʻonohonoho inoa uku pila haʻilula (Nā Kumu - Luna inoa) a hana i inoa hou me ke pihi Hoʻoulu (Hana). E hele mai a hoʻokomo i kahi inoa no kā mākou hana e hiki mai ana (e laʻana, Nomkvartala), a ma ke kula Link (Nānā) e kope pono mai ka papa formula a kāpī i kā mākou hana LAMBDA, me ka ʻole o ka hoʻopaʻapaʻa hope (A2):

ʻO LAMBDA ka Excels New Super Function

ʻO nā mea a pau. Ma hope o ke kaomi ʻana OK Hiki ke hoʻohana ʻia ka hana i hana ʻia i loko o kekahi kelepona ma kekahi pepa o kēia puke haʻawina:

ʻO LAMBDA ka Excels New Super Function

E hoʻohana ma nā puke ʻē aʻe

No ka mea i hana ʻia me LAMBDA No ka mea, ua kapa ʻia nā hana i wehewehe ʻia e ka mea hoʻohana, hiki iā ʻoe ke hoʻolako maʻalahi iā lākou ʻaʻole wale ma ka puke hana o kēia manawa. Ua lawa ia e kope i ke kelepona me ka hana a hoʻopili iā ia ma nā wahi āpau o ka pepa o kahi faila ʻē aʻe.

LAMBDA a me nā papa hana hoʻoikaika

Nā hana maʻamau i hana ʻia me kahi hana LAMBDA kākoʻo maikaʻi i ka hana me nā array dynamic hou a me kā lākou mau hana (FILT, UNIK, Papa) i hoʻohui ʻia i Microsoft Excel i 2020.

E ʻōlelo mākou makemake mākou e hana i kahi hana hou i wehewehe ʻia e ka mea hoʻohana e hoʻohālikelike i ʻelua papa inoa a hoʻihoʻi i ka ʻokoʻa ma waena o lākou - kēlā mau mea mai ka papa inoa mua ʻaʻole i ka lua. ʻO ka hana o ke ola, ʻaʻole anei? Ma mua, no kēia ua hoʻohana lākou i nā hana a la ʻO VPR (VLOOKUP), a i ʻole PivotTbles, a i ʻole nā ​​nīnau nīnau Power. I kēia manawa hiki iā ʻoe ke hana me hoʻokahi formula:

ʻO LAMBDA ka Excels New Super Function

Ma ka ʻōlelo Pelekania, penei:

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

Eia ka hana KĀNĀWAI helu i ka helu o nā hanana o kēlā me kēia mea o ka papa inoa mua ma ka lua, a laila ka hana FILT koho wale i ka poe i loaa ole keia mau hanana. Ma ka hoʻopili ʻana i kēia hale LAMBDA a me ka hana ʻana i kahi papa inoa e pili ana iā ia me kahi inoa, no ka laʻana, HUI IMI - e loaʻa iā mākou kahi hana maʻalahi e hoʻihoʻi i ka hopena o ka hoʻohālikelike ʻana i ʻelua papa inoa ma ke ʻano o kahi ʻano hana ikaika:

ʻO LAMBDA ka Excels New Super Function

Inā ʻaʻole maʻamau ka ʻikepili kumu, akā nā papa "akamai", e hoʻokō pū kā mākou hana me nā pilikia ʻole:

ʻO LAMBDA ka Excels New Super Function

ʻO kekahi laʻana, ʻo ia ka hoʻokaʻawale ʻana i ka kikokikona ma ka hoʻololi ʻana iā ia i XML a laila e hoʻokaʻawale iā ia i ke kelepona ma ke kelepona me ka hoʻohana ʻana i ka hana FILTER.XML a mākou i hoʻopau ai. I ʻole e hana hou i kēia ʻano paʻakikī i kēlā me kēia manawa, ʻoi aku ka maʻalahi o ka hoʻopili ʻana iā ia ma LAMBDA a hana i kahi ʻano ikaika e pili ana iā ia, ʻo ia hoʻi kahi hana paʻa a maʻalahi hoʻi, e kapa ana iā ia, no ka laʻana, RAZDTEXT:

ʻO LAMBDA ka Excels New Super Function

ʻO ka hoʻopaʻapaʻa mua o kēia hana, ʻo ia ke kelepona me ke kikokikona kumu, a ʻo ka lua - ke ʻano mea hoʻokaʻawale, a e hoʻihoʻi ia i ka hopena ma ke ʻano o kahi ʻano hoʻohālikelike. Penei ke code hana:

=LAMBDA(t;d; TRANSPOSE(FILTER.XML(““&PILI (t;d? "«)&»“;”//Y”)))

ʻAʻole pau ka papa inoa o nā hiʻohiʻona - i kēlā me kēia kūlana āu e komo pinepine ai i ke ʻano lōʻihi a paʻakikī hoʻi, ʻo ka hana LAMBDA e maʻalahi ke ola.

Ka helu hou ʻana o nā huaʻōlelo

ʻO nā hiʻohiʻona mua a pau i hōʻike i hoʻokahi wale nō, ʻo ka ʻaoʻao ʻoi loa, ʻaoʻao o ka hana LAMBDA - kona hoʻohana ʻana ma ke ʻano he "wrapper" no ke kāwili ʻana i nā ʻano lōʻihi i loko a maʻalahi i kā lākou hoʻokomo. ʻOiaʻiʻo, he ʻaoʻao ʻē aʻe ka LAMBDA, ʻoi aku ka hohonu, e hoʻohuli iā ia i kahi ʻōlelo hoʻonohonoho piha piha.

ʻO ka ʻoiaʻiʻo, ʻo kahi hiʻohiʻona koʻikoʻi o nā hana LAMBDA ka hiki ke hoʻokō iā lākou i loko hoʻihoʻi hou - ka loiloi o ka helu ʻana, i ka wā i ke kaʻina o ka helu ʻana e kāhea ka hana iā ia iho. Mai ka maʻamau, he mea weliweli paha ia, akā i ka papahana, he mea maʻamau ka recursion. ʻOiai i loko o nā macros i Visual Basic, hiki iā ʻoe ke hoʻokō, a i kēia manawa, e like me kāu e ʻike ai, ua hiki mai i Excel. E ho'āʻo kākou e hoʻomaopopo i kēia ʻenehana me kahi laʻana kūpono.

Inā makemake mākou e hana i kahi hana i wehewehe ʻia e ka mea hoʻohana e wehe i nā huaʻōlelo i hāʻawi ʻia mai ka kikokikona kumu. ʻO ka pono o ia hana, ke manaʻo nei au, ʻaʻole pono ʻoe e hōʻoia - he mea maʻalahi loa ia e hoʻomaʻemaʻe i ka ʻikepili hoʻokomo littered me kāna kōkua, ʻaʻole?

Eia naʻe, ke hoʻohālikelike ʻia i nā hiʻohiʻona ma mua, non-recursive, ʻelua mau pilikia e kali nei iā mākou.

  1. Pono mākou e hoʻopuka i kahi inoa no kā mākou hana ma mua o ka hoʻomaka ʻana e kākau i kāna code, no ka mea, i loko o ia mea, e hoʻohana ʻia kēia inoa e kāhea i ka hana ponoʻī.
  2. ʻAʻole e holo ka hoʻokomo ʻana i kahi hana recursive i loko o kahi kelepona a hoʻopau iā ia ma ka wehewehe ʻana i nā manaʻo i loko o nā brackets ma hope o LAMBDA (e like me kā mākou i hana ai ma mua). Pono ʻoe e hana koke i kahi hana "mai ka ʻōpala" i loko Luna Hoʻonohonoho inoa (Luna inoa).

E kāhea mākou i kā mākou hana, e ʻōlelo, CLEAN a makemake mākou e loaʻa i ʻelua manaʻo - e hoʻomaʻemaʻe ʻia ka kikokikona a me ka papa inoa o nā mea i kāpae ʻia ma ke ʻano he kaula kikokikona:

ʻO LAMBDA ka Excels New Super Function

E hana mākou, e like me kā mākou i hana mua ai, ma ka pā haʻilula в Luna inoa kapa ʻia ka laulā, kapa iā CLEAR a komo i loko o ke kahua huahelu ke kūkulu ʻia nei:

=LAMBDA(t;d;IF(d=””;t;MĀKĀLE(HILI(t;LEFT(d);””);MID(d;2;255))))

Eia ka hoʻololi t ka kikokikona mua e holoi ʻia, a ʻo d ka papa inoa o nā huapalapala e holoi ʻia.

Ke hana nei nā mea a pau e like me kēia:

ʻIteration 1

ʻO ka ʻāpana SUBSTITUTE(t;LEFT(d);””), e like me kāu e manaʻo ai, hoʻololi i ka huaʻōlelo mua mai ka ʻaoʻao hema mai ka set d e holoi ʻia i loko o ke kikokikona kumu t me kahi kaula kikokikona ʻole, ʻo ia hoʻi e wehe i ka " A”. Ma ke ʻano he hopena waena, loaʻa iā mākou:

Vsh zkz n 125 rubles.

ʻIteration 2

A laila kāhea ka hana iā ia iho a ma ke ʻano he hoʻokomo (ka hoʻopaʻapaʻa mua) loaʻa i ka mea i koe ma hope o ka hoʻomaʻemaʻe ʻana i ka pae mua, a ʻo ka hoʻopaʻapaʻa ʻelua ʻo ke kaula o nā huaʻōlelo i kāpae ʻia e hoʻomaka ana ʻaʻole mai ka mua, akā mai ka ʻano lua, ʻo ia hoʻi "BVGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYYYA. , "me ka ʻole o ka "A" mua - hana ʻia kēia e ka hana MID. E like me ka mea ma mua, lawe ka hana i ke ʻano mua mai ka hema o nā mea i koe (B) a hoʻololi iā ia i ka kikokikona i hāʻawi ʻia iā ia (Zkz n 125 rubles) me kahi kaula ʻole - loaʻa iā mākou he hopena waena:

125 ru.

ʻIteration 3

Kāhea hou ka hana iā ia iho, me ka loaʻa ʻana o ka hoʻopaʻapaʻa mua i ka mea i koe o ka kikokikona e hoʻomaʻemaʻe ʻia i ka hoʻomaʻamaʻa mua (Bsh zkz n 125 ru.), A ʻo ka hoʻopaʻapaʻa ʻelua, ua ʻoki ʻia ka hoʻonohonoho o nā huaʻōlelo i hoʻokaʻawale ʻia e kahi ʻano hou aʻe. hema, ʻo ia hoʻi, "VGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYYUYA.," me ka ʻole o ka "B" mua. A laila lawe hou ia i ke ʻano mua mai ka hema (B) mai kēia hoʻonohonoho a wehe iā ia mai ka kikokikona - loaʻa iā mākou:

sh zkz n 125 ru.

A pēlā aku - Manaʻo wau e loaʻa iā ʻoe ka manaʻo. Me kēlā me kēia hoʻololi, e ʻoki ʻia ka papa inoa o nā huaʻōlelo e hoʻoneʻe ʻia ma ka hema, a e ʻimi mākou a hoʻololi i ke ʻano aʻe mai ka hoʻonohonoho me kahi ʻole.

I ka pau ʻana o nā huaʻōlelo a pau, pono mākou e haʻalele i ka loop - hana wale ʻia kēia hana e ka hana IF (I), kahi i ʻōwili ʻia ai kā mākou hoʻolālā. Inā ʻaʻohe mau huaʻōlelo i koe e holoi ai (d=””), a laila ʻaʻole pono e kāhea hou ka hana iā ia iho, akā pono e hoʻihoʻi wale i ka kikokikona e holoi ʻia (variable t) ma kona ʻano hope.

ʻO ka hoʻihoʻi hou ʻana o nā cell

Pēlā nō, hiki iā ʻoe ke hoʻokō i kahi helu recursive o nā cell i kahi ākea i hāʻawi ʻia. Inā makemake mākou e hana i kahi hana lambda i kapa ʻia PAPA PANUI no ke kūʻai nui ʻana i nā ʻāpana o ke kikokikona kumu e like me ka papa kuhikuhi kuhikuhi. Pono ka hopena e like me kēia:

ʻO LAMBDA ka Excels New Super Function

ʻO kēlā mau. ma kā mākou hana PAPA PANUI ʻekolu mau manaʻo hoʻopaʻapaʻa:

  1. pūnaewele me ka kikokikona e hana ai (kumu helu helu)
  2. ʻo ke kelepona mua o kahi kolamu me nā waiwai e ʻimi ai mai ka nānā ʻana
  3. ka cell mua o ke kolamu me nā waiwai pani mai ka nānā ʻana

Pono ka hana mai luna a lalo i ka papa kuhikuhi a hoʻololi i nā koho āpau mai ke kolamu hema E loaʻa i nā koho kūpono mai ke kolamu ʻākau E hoʻololi hou. Hiki iā ʻoe ke hoʻokō i kēia me kēia hana lambda recursive:

ʻO LAMBDA ka Excels New Super Function

Maʻaneʻi, mālama ka mea hoʻololi t i ka kikokikona kumu mai ke kolamu aʻe Address, a ke kuhikuhi nei na hoololi n a me z i na keena mua o na kolamu E loaʻa и E hoʻololi hou, kēlā me kēia.
E like me ka laʻana mua, hoʻololi mua kēia hana i ka kikokikona kumu me ka hana PALAPALA (KA HOPE) ʻikepili ma ka laina mua o ka papa kuhikuhi (ie SPbon St. Petersburg), a laila kāhea iā ia iho, akā me ka hoʻololi ʻana i ka papa kuhikuhi i lalo i ka laina aʻe (ʻo ia hoʻi ka hoʻololi St. Petersburg on St. Petersburg). A laila kāhea hou iā ia iho me kahi hoʻololi i lalo - a pani i ka mea i hala Petero on St. Petersburg etc.

Hoʻokomo ʻia ka neʻe ʻana i lalo i kēlā me kēia hoʻololi e kahi hana excel maʻamau HOOPAU (OFFSET), i kēia hihia he ʻekolu kumu hoʻopaʻapaʻa - ka laulā kumu, ka hoʻololi lālani (1) a me ka hoʻololi kolamu (0).

ʻAe, ke hiki mākou i ka hopena o ka papa kuhikuhi (n = ""), pono mākou e hoʻopau i ka recursion - hoʻōki mākou i ke kāhea ʻana iā mākou iho a hōʻike i nā mea i hōʻiliʻili ʻia ma hope o nā pani ʻana a pau i ke ʻano kumu kikokikona t.

ʻo ia wale nō. ʻAʻohe macros paʻakikī a i ʻole nā ​​nīnau nīnau Power - ua hoʻoholo ʻia ka hana holoʻokoʻa e hoʻokahi hana.

  • Pehea e hoʻohana ai i nā hana dynamic array hou o Excel: FILTER, SORT, UNIC
  • Hoʻololi a hoʻomaʻemaʻe i ka kikokikona me ka hana SUBSTITUTE
  • Ke hana ʻana i nā macros a me nā hana i wehewehe ʻia e ka mea hoʻohana (UDF) ma VBA

Waiho i ka Reply