Is e LAMBDA an Super Function ùr aig Excel

Aig an àm seo, tha faisg air còig ceud gnìomh duilleag-obrach aig Microsoft Excel ri fhaighinn tron ​​​​uinneig Function Wizard - putan fx ann am bàr na foirmle. Is e seata fìor mhath a tha seo, ach, a dh’ aindeoin sin, bidh cha mhòr a h-uile neach-cleachdaidh a ’tighinn tarsainn air suidheachadh far nach eil an gnìomh a tha a dhìth air an liosta seo - dìreach leis nach eil e ann an Excel.

Gu ruige seo, b’ e macros an aon dòigh air an duilgheadas seo fhuasgladh, ie a’ sgrìobhadh do ghnìomh fhèin a tha air a mhìneachadh leis a’ chleachdaiche (UDF = Gnìomh air a mhìneachadh leis a’ chleachdaiche) ann an Visual Basic, a dh’ fheumas sgilean prògramaidh iomchaidh agus nach eil, aig amannan, furasta idir. Ach, leis na h-ùrachaidhean Office 365 as ùire, tha an suidheachadh air atharrachadh airson na b ’fheàrr - chaidh gnìomh“ wrapper ”sònraichte a chuir ri Excel LAMBDA. Le a chuideachadh, tha an obair gus na gnìomhan agad fhèin a chruthachadh a-nis air fhuasgladh gu furasta agus gu breagha.

Bheir sinn sùil air a 'phrionnsabal a chleachdadh anns an eisimpleir a leanas.

Mar as coltaiche a tha fios agad, tha grunn ghnìomhan parsaidh cinn-latha aig Excel a leigeas leat an àireamh latha, mìos, seachdain agus bliadhna a dhearbhadh airson ceann-latha sònraichte. Ach airson adhbhar air choireigin chan eil gnìomh ann a bhios a’ dearbhadh àireamh a’ chairteal, a tha cuideachd a dhìth gu tric, ceart? Feuch an socraich sinn an easbhaidh seo agus cruthaich sinn le LAMBDA gnìomh ùr fhèin gus an duilgheadas seo fhuasgladh.

Ceum 1. Sgrìobh am foirmle

Feuch an tòisich sinn leis an fhìrinn gum bi sinn le làimh san dòigh àbhaisteach a’ sgrìobhadh foirmle ann an cealla duilleag a bhios a’ tomhas na tha a dhìth oirnn. Ann an cùis àireamh cairteal, faodar seo a dhèanamh, mar eisimpleir, mar seo:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Ceum 2. Wrapping suas ann an LAMBDA agus deuchainn

A-nis tha an t-àm ann an gnìomh LAMBDA ùr a chuir an sàs agus am foirmle againn a phasgadh ann. Tha an co-chòrdadh gnìomh mar a leanas:

=LAMBDA(Caochlaideach 1; Caochlaideach 2;; … CaochlaideachN ; A 'mìneachadh)

far a bheil ainmean aon chaochladair no barrachd air an liostadh an toiseach, agus tha an argamaid mu dheireadh an-còmhnaidh na fhoirmle no mar abairt àireamhaichte a bhios gan cleachdadh. Cha bu chòir gum biodh ainmean caochlaideach coltach ri seòlaidhean cealla agus cha bu chòir dotagan a bhith ann.

Anns a 'chùis againn, cha bhi ach aon caochladair ann - an ceann-latha airson a bheil sinn a' cunntadh an àireamh ràitheil. Canamaid an caochladair air a shon, abair, d. An uairsin paisg ar foirmle ann an gnìomh LAMBDA agus a’ cur ainm caochladair meallta an àite seòladh na cealla tùsail A2, gheibh sinn:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Thoir an aire, às deidh a leithid de chruth-atharrachadh, gun do thòisich am foirmle againn (gu dearbh, ceart!) A’ toirt a-mach mearachd, oir a-nis chan eil an ceann-latha tùsail bho chealla A2 air a ghluasad thuige. Airson deuchainn agus misneachd, faodaidh tu argamaidean a chuir thuige le bhith gan cur ris às deidh a’ ghnìomh LAMBDA ann am brathan:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Ceum 3. Cruthaich ainm

A-nis airson a 'phàirt furasta agus spòrsail. Bidh sinn a’ fosgladh Manaidsear Ainm tab foirmle (Foirmlean - Manaidsear Ainm) agus cruthaich ainm ùr leis a’ phutan Cruthaich (Cruthaich). Thig suas agus cuir a-steach ainm airson ar gnìomh san àm ri teachd (mar eisimpleir, Ainmhidhean), agus anns an raon Ceangal (Iomradh) Dèan lethbhreac gu faiceallach bhon bhàr foirmle agus cuir a-steach ar gnìomh LAMBDA, a-mhàin às aonais an argamaid mu dheireadh (A2):

Tha LAMBDA na shàr-ghnìomh ùr Excels

A h-uile càil. Às deidh briogadh air OK faodar an gnìomh cruthaichte a chleachdadh ann an cealla sam bith air duilleag sam bith den leabhar-obrach seo:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Cleachd ann an leabhraichean eile

Air sgàth a chruthachadh le LAMBDA Leis gu bheil gnìomhan a tha air am mìneachadh leis an neach-cleachdaidh, gu dearbh, nan raointean ainmichte, faodaidh tu an toirt seachad gu furasta chan ann a-mhàin san leabhar-obrach gnàthach. Bidh e gu leòr an cealla a chopaigeadh leis a’ ghnìomh agus a phasgadh an àite sam bith air duilleag faidhle eile.

LAMBDA agus arrays fiùghantach

Gnìomhan gnàthaichte air an cruthachadh le gnìomh LAMBDA taic soirbheachail a thoirt do dh’ obair le arrays fiùghantach ùra agus na gnìomhan aca (FILTAR, UNIK, CHOITCHEANN) air a chur ri Microsoft Excel ann an 2020.

Canaidh sinn gu bheil sinn airson gnìomh ùr a chruthachadh a tha air a mhìneachadh le neach-cleachdaidh a dhèanadh coimeas eadar dà liosta agus a thilleadh an diofar eatorra - na h-eileamaidean sin bhon chiad liosta nach eil san dàrna fear. Obair beatha, nach e? Roimhe seo, airson seo chleachd iad an dàrna cuid gnìomhan a la VPR (VLOOKUP), no PivotTables, no Ceistean Cumhachd. A-nis faodaidh tu a dhèanamh le aon fhoirmle:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Anns an dreach Beurla bidh e:

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

Seo an gnìomh COUNTIF a’ cunntadh àireamh nan tachartasan de gach eileamaid den chiad liosta san dàrna fear, agus an uairsin an gnìomh FILTAR a’ taghadh a-mhàin an fheadhainn aig nach robh na tachartasan sin. Le bhith a 'toirt a-steach an structar seo LAMBDA agus a’ cruthachadh raon ainmichte stèidhichte air le ainm, mar eisimpleir, SRAID SHLAINTEIL - gheibh sinn gnìomh goireasach a thilleas an toradh bho bhith a’ dèanamh coimeas eadar dà liosta ann an cruth sreath fiùghantach:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Mura h-eil an stòr dàta àbhaisteach, ach bùird “smart”, bidh an gnìomh againn cuideachd a’ dèiligeadh gun duilgheadasan:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Is e eisimpleir eile a bhith a’ sgoltadh teacsa gu dinamach le bhith ga thionndadh gu XML agus an uairsin ga pharsadh le cealla a’ cleachdadh an gnìomh FILTER.XML a rinn sinn parsadh o chionn ghoirid. Gus nach tèid am foirmle iom-fhillte seo ath-riochdachadh le làimh a h-uile uair, bidh e nas fhasa a phasgadh ann an LAMBDA agus raon fiùghantach a chruthachadh stèidhichte air, ie gnìomh toinnte agus goireasach ùr, ga ainmeachadh, mar eisimpleir, RAZDTEXT:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Is e a’ chiad argamaid den ghnìomh seo an cealla leis an teacsa tùsail, agus an dàrna fear - an caractar dealachaidh, agus tillidh e an toradh ann an cruth sreath fiùghantach còmhnard. Bidh an còd gnìomh mar a leanas:

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

Tha liosta nan eisimpleirean gun chrìoch - ann an suidheachadh sam bith far am feum thu gu tric a dhol a-steach don aon fhoirmle fada agus trom, nì gnìomh LAMBDA beatha gu math nas fhasa.

Àireamhachd ath-chuairteach de charactaran

Tha a h-uile eisimpleir roimhe seo air dìreach aon taobh, an taobh as fhollaisiche, de ghnìomh LAMBDA a nochdadh - a chleachdadh mar “còmhdaiche” airson foirmlean fada a phasgadh ann agus an cuir a-steach a dhèanamh nas sìmplidhe. Gu dearbh, tha taobh eile, fada nas doimhne, aig LAMBDA a tha ga thionndadh gu bhith na chànan prògramaidh cha mhòr làn-chuimseach.

Is e an fhìrinn gur e feart bunaiteach cudromach de ghnìomhan LAMBDA an comas an cur an gnìomh ath-chuairteachadh - loidsig àireamhachadh, nuair a tha e sa phròiseas àireamhachaidh bidh an gnìomh ag iarraidh fhèin. Bhon chleachdadh, is dòcha gu bheil e eagallach, ach ann am prògramadh, tha ath-chuairteachadh na rud cumanta. Fiù ‘s ann am macros ann an Visual Basic, faodaidh tu a chuir an gnìomh, agus a-nis, mar a chì thu, tha e air tighinn gu Excel. Feuchaidh sinn ris an dòigh seo a thuigsinn le eisimpleir practaigeach.

Can gu bheil sinn airson gnìomh a tha air a mhìneachadh leis a’ chleachdaiche a chruthachadh a bheireadh air falbh a h-uile caractar a chaidh a thoirt bhon teacsa tùsail. Cho feumail ‘s a tha leithid de ghnìomh, tha mi a’ smaoineachadh, chan fheum thu a dhearbhadh - bhiodh e gu math goireasach dàta cuir a-steach sgudail a ghlanadh le a chuideachadh, ceart?

Ach, an taca ris na h-eisimpleirean neo-ath-chuairteach a bh’ ann roimhe, tha dà dhuilgheadas a’ feitheamh oirnn.

  1. Feumaidh sinn ainm a chruthachadh airson ar gnìomh mus tòisich sinn a 'sgrìobhadh a chòd, oir ann, bidh an t-ainm seo air a chleachdadh mar-thà gus an gnìomh fhèin a ghairm.
  2. Chan obraich a-steach a leithid de ghnìomh ath-chuairteach a-steach do chill agus a dhì-bhugachadh le bhith a’ sònrachadh argamaidean eadar camagan às deidh LAMBDA (mar a rinn sinn na bu thràithe). Feumaidh tu gnìomh a chruthachadh sa bhad “bhon fhìor thoiseach” a-steach Manaidsear Ainm (Manaidsear Ainm).

Canaidh sinn ar gnìomh, can, CLEAN agus bu mhath leinn gum biodh dà argamaid againn - an teacsa ri ghlanadh agus an liosta de charactaran air an dùnadh a-mach mar sreang teacsa:

Tha LAMBDA na shàr-ghnìomh ùr Excels

Cruthaichidh sinn, mar a rinn sinn na bu thràithe, air an taba foirmle в Ainm manaidsear raon ainmichte, ainmich e CLEAR agus cuir a-steach don raon Raon na togail a leanas:

=LAMBDA(t; d; IF(d =”";t; CLEAR(SUBSTITUTE(t;LEFT(d);"”);MID(d; 2; 255))))

An seo is e an caochladair t an teacsa tùsail a tha ri ghlanadh, agus is e d liosta nan caractaran a thèid a sguabadh às.

Tha e uile ag obair mar seo:

Tionndadh 1

Tha a’ chriomag SUBSTITUTE(t;LEFT(d);”), mar a shaoileadh tu, a’ dol an àite a’ chiad charactar bhon charactar chlì bhon t-seata d a thèid a dhubhadh às san teacsa tùsail t le sreang teacsa falamh, ie a’ toirt air falbh an “ A”. Mar thoradh eadar-mheadhanach, gheibh sinn:

Vsh zkz n 125 rubles.

Tionndadh 2

An uairsin bidh an gnìomh ga ghairm fhèin agus mar chur-a-steach (a ’chiad argamaid) a’ faighinn na tha air fhàgail às deidh glanadh sa cheum roimhe, agus is e an dàrna argamaid an sreath de charactaran toirmisgte a ’tòiseachadh chan ann bhon chiad fhear, ach bhon dàrna caractar, ie“ BVGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYYYA. ,” às aonais a’ chiad “A” - tha seo air a dhèanamh leis a’ ghnìomh MID. Mar a bha roimhe, tha an gnìomh a 'toirt a' chiad charactar bho thaobh clì an fheadhainn a tha air fhàgail (B) agus cuiridh sinn sreang falamh na àite anns an teacsa a chaidh a thoirt dha (Zkz n 125 rubles) - gheibh sinn mar thoradh eadar-mheadhanach:

125 ru.

Tionndadh 3

Bidh an gnìomh ga ghairm fhèin a-rithist, a’ faighinn mar a’ chiad argamaid na tha air fhàgail den teacsa a thèid fhuadach aig an tionndadh roimhe (Bsh zkz n 125 ru.), Agus mar an dàrna argamaid, an seata de charactaran toirmisgte air a ghearradh sìos le aon charactar eile gu air an taobh chlì, ie “VGDEEGZIKLMNOPRSTUFHTSCHSHSHCHYYYYUYA.,” às aonais a’ chiad “B”. An uairsin bheir e a-rithist a’ chiad charactar bhon taobh chlì (B) bhon t-seata seo agus thoir air falbh e bhon teacsa - gheibh sinn:

sh zkz n 125 ru.

Agus mar sin air adhart - tha mi an dòchas gum faigh thu am beachd. Le gach tionndadh, thèid an liosta de charactaran a thèid a thoirt air falbh a ghearradh sìos air an taobh chlì, agus bidh sinn a’ lorg agus a’ lorg an ath charactar bhon t-seata le beàrn.

Nuair a ruitheas a h-uile caractar a-mach, feumaidh sinn an lùb fhàgail - tha an dreuchd seo dìreach air a choileanadh leis a’ ghnìomh IF (IF), anns a bheil ar dealbhadh air a phasgadh. Mura h-eil caractaran air fhàgail airson an sguabadh às (d =”), cha bu chòir don ghnìomh a bhith ga ainmeachadh fhèin tuilleadh, ach bu chòir dha dìreach an teacsa a thilleadh airson a ghlanadh (caochlaideach t) san fhoirm mu dheireadh aige.

Ath-chuairteachadh ceallan

San aon dòigh, faodaidh tu àireamhachadh ath-chuairteach de cheallan a chuir an gnìomh ann an raon sònraichte. Seach gu bheil sinn airson gnìomh lambda ainmichte a chruthachadh LIOSTA ATH-LEASACHADH airson ath-chur mòr-reic mhìrean san teacsa tùsail a rèir liosta iomraidh a chaidh a thoirt seachad. Bu chòir don toradh coimhead mar seo:

Tha LAMBDA na shàr-ghnìomh ùr Excels

An fheadhainn sin. aig ar dreuchd LIOSTA ATH-LEASACHADH bidh trì argamaidean ann:

  1. cealla le teacsa ri phròiseas (seòladh stòr)
  2. a’ chiad chill de cholbh le luachan airson sgrùdadh bhon lorg
  3. a’ chiad chealla den cholbh le luachan ùra bhon lorg

Bu chòir don ghnìomh a dhol bho mhullach gu bonn san eòlaire agus na roghainnean uile bhon cholbh chlì a chuir na àite Gus a lorg gu na roghainnean co-fhreagarrach bhon cholbh cheart Neach-ionaid. Faodaidh tu seo a chuir an gnìomh leis a’ ghnìomh lambda ath-chuairteach a leanas:

Tha LAMBDA na shàr-ghnìomh ùr Excels

An seo, bidh an caochladair t a’ stòradh an teacsa tùsail bhon ath chealla colbh seòladh, agus tha na caochladairean n agus z a' comharrachadh nan ciad cheallan anns na colbhan Gus a lorg и Neach-ionaid, fa leth.
Mar a bha san eisimpleir roimhe, tha an gnìomh seo an toiseach a’ dol an àite an teacsa tùsail leis a’ ghnìomh SUBSTITUIBH (SUBSTITUTE) dàta air a’ chiad loidhne den eòlaire (ie SPbon St Petersburg), agus an uairsin ga ghairm fhèin-fhèin, ach le gluasad san eòlaire sìos chun ath loidhne (ie a’ dol na àite St Petersburg on St Petersburg). An uairsin ga ghairm fhèin a-rithist le gluasad sìos - agus a ’dol an àite an fheadhainn a th’ ann mar-thà Peter on St Petersburg msaa

Tha gluasad sìos aig gach tionndadh air a bhuileachadh le gnìomh àbhaisteach excel URNAIGH (AIRGEAD), anns a bheil trì argamaidean sa chùis seo - an raon tùsail, gluasad sreath (1) agus gluasad colbh (0).

Uill, cho luath ‘s a ruigeas sinn deireadh an eòlaire (n =“”), feumaidh sinn crìoch a chuir air an ath-chuairteachaidh - stadaidh sinn a bhith gar gairm fhìn agus a ’taisbeanadh na tha air cruinneachadh às deidh a h-uile càil a chuir na àite anns a’ chaochladair teacsa tùsail t.

Sin e. Chan eil macros duilich no ceistean Power Query - tha an obair gu lèir air fhuasgladh le aon ghnìomh.

  • Mar a chleachdas tu na gnìomhan sreath fiùghantach ùr aig Excel: FILTER, SORT, UNIC
  • Cuir an gnìomh SUBSTITUTE an àite teacsa agus ga ghlanadh
  • A’ cruthachadh macros agus gnìomhan air an sònrachadh leis a’ chleachdaiche (UDFn) ann an VBA

Leave a Reply