Téacs a cheangal de réir coinníoll

Scríobh mé cheana faoi conas is féidir leat téacs a ghluáil go tapa ó roinnt cealla isteach i gceann amháin agus, os a choinne sin, teaghrán fada téacs a pharsáil ina gcomhpháirteanna. Breathnaímid anois ar thasc gar, ach beagán níos casta – conas téacs a ghliúáil ó roinnt cealla nuair a chomhlíontar coinníoll sonraithe áirithe. 

Ligean le rá go bhfuil bunachar sonraí custaiméirí againn, áit ar féidir le hainm cuideachta amháin a bheith ag freagairt do roinnt ríomhphoist éagsúla dá chuid fostaithe. Is é an tasc atá againn ná na seoltaí go léir a bhailiú de réir ainmneacha cuideachtaí agus iad a chomhcheangail (scartha le camóga nó leathcholúin) chun, mar shampla, liosta seoltaí a dhéanamh do chustaiméirí, .i. aschur a fháil mar rud éigin mar:

Téacs a cheangal de réir coinníoll

I bhfocail eile, teastaíonn uirlis uainn a ghleálann (nasc) an téacs de réir an choinníll – analóg den fheidhm SUIMÉIRÍ (SUIM), ach le haghaidh téacs.

Modh 0. Foirmle

Gan an-galánta, ach an bealach is éasca. Is féidir leat foirmle shimplí a scríobh a sheiceálfaidh an bhfuil difríocht idir an chuideachta sa chéad ró eile agus an ceann roimhe sin. Mura bhfuil difríocht idir é, ansin gliú an chéad seoladh eile scartha le camóg. Má tá sé difriúil, ansin déanaimid "athshocrú" ar an carntha, ag tosú arís:

Téacs a cheangal de réir coinníoll

Is léir míbhuntáistí an chur chuige seo: ó chealla uile an cholúin bhreise a fhaightear, ní mór dúinn ach na cinn dheireanacha do gach cuideachta (buí). Má tá an liosta mór, ansin chun iad a roghnú go tapa, beidh ort colún eile a chur leis ag baint úsáide as an bhfeidhm DLSTR (LEN), ag seiceáil fad na teaghráin carntha:

Téacs a cheangal de réir coinníoll

Anois is féidir leat na cinn a scagadh amach agus an gluing seoladh riachtanach a chóipeáil le haghaidh tuilleadh úsáide.

Modh 1. Macrafheidhmiú gluing de réir coinníoll amháin

Mura ndéantar an liosta bunaidh a shórtáil de réir cuideachta, ansin ní oibríonn an fhoirmle simplí thuas, ach is féidir leat a fháil go héasca le feidhm bheag saincheaptha i VBA. Oscail an Eagarthóir Visual Basic trí aicearra méarchláir a bhrú Alt + F11 nó ag baint úsáide as an gcnaipe Visual Basic tab forbróir (Forbróir). Sa fhuinneog a osclaíonn, cuir isteach modúl nua folamh tríd an roghchlár Ionsáigh – Modúl agus cóip téacs ár bhfeidhme ann:

Feidhm MergeIf(TextRange As Range, SearchRange As Range, Coinníoll Mar Teaghrán) Dim Teileaiméadar Mar Teaghrán, i As Long Delimeter = ", " níl gliúnna cothrom lena chéile - scoirimid le hearráid Má SearchRange.Count <> TextRange.Count Ansin MergeIf = CVErr(xlErrRef) Deireadh Feidhm Scoir Má 'téigh tríd na cealla go léir, seiceáil an riocht agus bailigh an téacs san athróg OutText For i = 1 Chun SearchRange. Cells.Count If SearchRange.Cells(i) Coinníoll Cosúil Ansin Amach Téacs = As Téacs & TextRange.Cells(i) & Teiliméadair Ar Aghaidh i 'Taispeáin na torthaí gan an teorannóir deiridh MergeIf = Ar Chlé(AsText, Len(AsText) - Len(Delimeter)) Críoch feidhm  

Má fhilleann tú anois ar Microsoft Excel, ansin sa liosta feidhmeanna (cnaipe fx sa bharra foirmle nó sa chluaisín Foirmlí – Ionsáigh Feidhm) beifear in ann ár bhfeidhm a fháil MergeIf i gcatagóir Úsáideoir Sainithe (Sainithe ag an úsáideoir). Is iad seo a leanas na hargóintí don fheidhm:

Téacs a cheangal de réir coinníoll

Modh 2. Comhcheangail téacs trí choinníoll neamhchruinn

Má táimid in ionad an chéad charachtar sa líne 13th ár macra = don neasoibreoir meaitseála cosúil, ansin beifear in ann gluing a dhéanamh trí mheaitseáil mhíchruinn na sonraí tosaigh leis an gcritéar roghnúcháin. Mar shampla, más féidir ainm na cuideachta a scríobh i leaganacha éagsúla, is féidir linn iad go léir a sheiceáil agus a bhailiú le feidhm amháin:

Téacs a cheangal de réir coinníoll

Tacaítear le saoróga caighdeánacha:

  • réiltín (*) – seasann sé aon líon carachtair ar bith (lena n-áirítear a n-éagmais)
  • comhartha ceiste (?) – seasann sé d’aon charachtar aonair
  • comhartha punt (#) – seasann sé d’aon dhigit amháin (0-9)

De réir réamhshocraithe, tá an t-oibreoir Cosúil cásíogair, ie tuigeann sé, mar shampla, “Orion” agus “orion” mar chuideachtaí éagsúla. Chun neamhaird a dhéanamh ar chás, is féidir leat an líne ag tús an mhodúil a chur leis san eagarthóir Visual Basic Rogha Déan comparáid idir Téacs, a aistreoidh Cosúil le bheith cás-neamhíogair.

Ar an mbealach seo, is féidir leat maisc an-chasta a chumadh chun coinníollacha a sheiceáil, mar shampla:

  • ?1##??777RUS – roghnú gach pláta ceadúnais sa réigiún 777, ag tosú le 1
  • LLC* - gach cuideachta a dtosaíonn a ainm le LLC
  • ##7## – gach táirge a bhfuil cód digiteach cúig dhigit aige, arb é 7 an tríú digit
  • ????? – gach ainm ar chúig litir, etc.

Modh 3. Feidhm mhacra chun téacs a ghluáil faoi dhá choinníoll

San obair d’fhéadfadh go mbeadh fadhb ann nuair is gá duit an téacs a nascadh níos mó ná coinníoll amháin. Mar shampla, déanaimis a shamhlú gur cuireadh colún amháin eile leis an gcathair inár dtábla roimhe seo, agus ba cheart gluing a dhéanamh ní hamháin do chuideachta ar leith, ach freisin do chathair ar leith. Sa chás seo, beidh orainn ár bhfeidhm a nuachóiriú beagán trí sheic raoin eile a chur leis:

Feidhm MergeIfs(TextRange Mar Raon, Cuardach Raon1 Mar Raon, Coinníoll1 Mar Teaghrán, CuardachRange2 Mar Raon, Coinníoll2 Mar Theaghrán) Dim Teaghrán Mar Teaghrán, i Chomh fada Teorainneora = ", " 'carachtair teorann (is féidir spás nó; srl.) a chur in ionad iad. e.) 'mura bhfuil na raonta bailíochtaithe agus gliúála cothrom lena chéile, scoir le hearráid Má tá SearchRange1.Count <> TextRange.Count Nó SearchRange2.Count <> TextRange.Count Ansin MergeIfs = CVERr(xlErrRef) Scoir Feidhm Deireadh Más 'téigh trí na cealla go léir, seiceáil na coinníollacha go léir agus bailigh an téacs isteach san athróg OutText For i = 1 Chun SearchRange1.Cells.Count If SearchRange1.Cells(i) = Coinníoll1 Agus SearchRange2.Cells(i) = Coinníoll2 Ansin OutText = Téacs Amach & TextRange.Cells(i) & Teirmiméadar Deireadh Más Ar Aghaidh i 'Taispeáin na torthaí gan an teorannóir deiridh MergeIfs = Ar Chlé(Asthéacs, Len(Amach) - Len(Teiliméadair)) Feidhm Deiridh  

Cuirfear i bhfeidhm é ar an mbealach céanna – ní gá ach argóintí a shonrú níos mó anois:

Téacs a cheangal de réir coinníoll

Modh 4. Grúpáil agus gliúáil i gCeist Chumhachta

Is féidir leat an fhadhb a réiteach gan ríomhchlárú i VBA, má úsáideann tú an breiseán Power Query saor in aisce. Le haghaidh Excel 2010-2013 is féidir é a íoslódáil anseo , agus in Excel 2016 tá sé tógtha isteach cheana féin de réir réamhshocraithe. Beidh seicheamh na ngníomhartha mar seo a leanas:

Níl a fhios ag Power Query conas oibriú le táblaí rialta, mar sin is é an chéad chéim ná ár dtábla a thiontú ina tábla “cliste”. Chun seo a dhéanamh, roghnaigh é agus brúigh an teaglaim Ctrl+T nó roghnaigh ón gcluaisín Baile - Formáid mar tábla (Baile - Formáid mar Tábla). Ar an táb atá le feiceáil ansin Cruthaitheoir (Dearadh) is féidir leat an t-ainm tábla a shocrú (d'fhág mé an caighdeán Tábla 1):

Téacs a cheangal de réir coinníoll

Anois déanaimis ár tábla a luchtú isteach sa bhreiseán Power Query. Chun seo a dhéanamh, ar an táb Dáta (má tá Excel 2016 agat) nó ar an táb Power Query (má tá Excel 2010-2013 agat) cliceáil Ón tábla (Sonraí — Ó Tábla):

Téacs a cheangal de réir coinníoll

I bhfuinneog an eagarthóra ceisteanna a osclaíonn, roghnaigh an colún trí chliceáil ar an gceanntásc Company agus brúigh an cnaipe thuas Grúpa (Grúpa de réir). Cuir isteach ainm an cholúin nua agus an cineál oibríochta sa ghrúpáil – Gach líne (Gach Sraith):

Téacs a cheangal de réir coinníoll

Cliceáil OK agus faighimid miontábla de luachanna grúpáilte do gach cuideachta. Tá inneachar na dtáblaí le feiceáil go soiléir má d’fhág tú cliceáil ar chúlra bán na gceall (ní ar an téacs!) sa cholún a leanann:

Téacs a cheangal de réir coinníoll

Anois cuirimis colún amháin eile leis, áit a ndéanaimid, ag baint úsáide as an bhfeidhm, ábhar na gcolún Seoladh a ghliúáil i ngach miontáblaí, scartha le camóga. Chun seo a dhéanamh, ar an táb Cuir colún leis brúimid Colún saincheaptha (Cuir colún leis - colún saincheaptha) agus sa bhfuinneog atá le feiceáil, cuir isteach ainm an cholúin nua agus an fhoirmle cúplála sa teanga M a tógadh isteach Power Query:

Téacs a cheangal de réir coinníoll

Tabhair faoi deara go bhfuil gach M-feidhm cásíogair (murab ionann agus Excel). Tar éis cliceáil ar OK faighimid colún nua le seoltaí greamaithe:

Téacs a cheangal de réir coinníoll

Tá sé fós a bhaint as an colún cheana féin nach bhfuil gá Seoltaí Tábla (cliceáil ar dheis ar an teideal) Scrios colún) agus na torthaí a uaslódáil chuig an mbileog trí chliceáil ar an táb Baile - Dún agus íoslódáil (Baile - Dún agus lódáil):

Téacs a cheangal de réir coinníoll

Nuance tábhachtach: Murab ionann agus na modhanna roimhe seo (feidhmeanna), ní dhéantar táblaí ó Power Query a nuashonrú go huathoibríoch. Más rud é go mbeidh aon athrú ar na sonraí foinse amach anseo, beidh ort cliceáil ar dheis áit ar bith sa tábla torthaí agus roghnaigh an t-ordú Nuashonraigh & Sábháil (Athnuaigh).

  • Conas teaghrán fada téacs a roinnt ina gcodanna
  • Roinnt bealaí chun téacs ó chealla éagsúla a ghluáil isteach i gceann amháin
  • Ag baint úsáide as an oibreoir Like chun téacs a thástáil i gcoinne masc

Leave a Reply