Imora ọrọ nipa majemu

Mo ti kowe tẹlẹ nipa bii o ṣe le yara lẹ pọ ọrọ lati awọn sẹẹli pupọ sinu ọkan ati, ni idakeji, sọ ọrọ ọrọ gigun kan sinu awọn paati. Bayi jẹ ki a wo isunmọ, ṣugbọn iṣẹ-ṣiṣe eka diẹ sii – bii o ṣe le lẹ pọ mọ ọrọ lati awọn sẹẹli pupọ nigbati ipo kan pato ba pade. 

Jẹ ká sọ pé a ni a database ti awọn onibara, ibi ti ọkan ile-orukọ le badọgba lati orisirisi ti o yatọ apamọ ti awọn oniwe-abáni. Iṣẹ-ṣiṣe wa ni lati gba gbogbo awọn adirẹsi nipasẹ awọn orukọ ile-iṣẹ ki o si so wọn pọ (ti o ya sọtọ nipasẹ aami idẹsẹ tabi semicolons) lati le ṣe, fun apẹẹrẹ, atokọ ifiweranṣẹ fun awọn onibara, ie gbajade nkan bi:

Imora ọrọ nipa majemu

Ni awọn ọrọ miiran, a nilo ọpa kan ti yoo lẹ pọ (ọna asopọ) ọrọ ni ibamu si ipo - afọwọṣe ti iṣẹ naa SUMMESLI (SUMIF), ṣugbọn fun ọrọ.

Ọna 0. Agbekalẹ

Ko yangan pupọ, ṣugbọn ọna ti o rọrun julọ. O le kọ agbekalẹ ti o rọrun ti yoo ṣayẹwo boya ile-iṣẹ ti o wa ni ọna atẹle yatọ si ti iṣaaju. Ti ko ba yato, lẹhinna lẹ pọ adirẹsi atẹle ti o yapa nipasẹ aami idẹsẹ kan. Ti o ba yatọ, lẹhinna a “tunto” ikojọpọ, bẹrẹ lẹẹkansi:

Imora ọrọ nipa majemu

Awọn aila-nfani ti ọna yii jẹ kedere: lati gbogbo awọn sẹẹli ti iwe afikun ti a gba, a nilo nikan awọn ti o kẹhin fun ile-iṣẹ kọọkan (ofeefee). Ti atokọ naa ba tobi, lẹhinna lati yan wọn ni kiakia, iwọ yoo ni lati ṣafikun iwe miiran nipa lilo iṣẹ naa DLSTR (LEN), Ṣiṣayẹwo gigun ti awọn gbolohun ọrọ ti a kojọpọ:

Imora ọrọ nipa majemu

Bayi o le ṣe àlẹmọ awọn eyi ki o daakọ gluing adirẹsi pataki fun lilo siwaju.

Ọna 1. Macrofunction ti gluing nipasẹ ipo kan

Ti atokọ atilẹba ko ba lẹsẹsẹ nipasẹ ile-iṣẹ, lẹhinna agbekalẹ ti o rọrun loke ko ṣiṣẹ, ṣugbọn o le ni rọọrun gba ni ayika pẹlu iṣẹ aṣa kekere ni VBA. Ṣii Olootu Ipilẹ Visual nipa titẹ ọna abuja keyboard kan F11 giga + tabi lilo bọtini visual Ipilẹ taabu developer (Olùgbéejáde). Ni awọn window ti o ṣi, fi titun kan sofo module nipasẹ awọn akojọ Fi sii - Module ati daakọ ọrọ iṣẹ wa nibẹ:

Ṣiṣẹpọ MergeIf(TextRange Bi Range, SearchRange Bi Range, Condition As String) Dim Delimeter As String, i As Long Delimeter = ", " gluings are not dogba si kọọkan miiran - a jade pẹlu aṣiṣe Ti SearchRange.Count <> TextRange.Count Lẹhinna MergeIf = CVERr(xlErrRef) Ipari Iṣẹ Ijade Ti o ba lọ nipasẹ gbogbo awọn sẹẹli, ṣayẹwo ipo naa ki o gba ọrọ naa ni oniyipada OutText Fun i = 1 Lati SearchRange. Cells.Count Ti SearchRange.Cells(i) Like Condition Nigbana ni OutText = OutText & TextRange.Cells(i) & Delimeter Next i 'se afihan awọn esi lai kẹhin delimiter MergeIf = Osi(OutText, Len(OutText) - Len(Delimeter)) Pari iṣẹ  

Ti o ba pada si Microsoft Excel bayi, lẹhinna ninu atokọ awọn iṣẹ (bọtini fx ninu awọn agbekalẹ bar tabi taabu Awọn agbekalẹ - Fi sii Iṣẹ) yoo ṣee ṣe lati wa iṣẹ wa DapọIf ni ẹka Itumọ Olumulo (Ṣitumọ olumulo). Awọn ariyanjiyan si iṣẹ jẹ bi atẹle:

Imora ọrọ nipa majemu

Ọna 2. Concatenate ọrọ nipasẹ ipo aiṣedeede

Ti a ba rọpo ohun kikọ akọkọ ni laini 13th ti Makiro wa = si isunmọ baramu oniṣẹ bi, lẹhinna o yoo ṣee ṣe lati ṣe gluing nipasẹ ibaramu aiṣedeede ti data akọkọ pẹlu ami yiyan. Fun apẹẹrẹ, ti orukọ ile-iṣẹ ba le kọ ni awọn iyatọ oriṣiriṣi, lẹhinna a le ṣayẹwo ati gba gbogbo wọn pẹlu iṣẹ kan:

Imora ọrọ nipa majemu

Awọn kaadi egan ni atilẹyin:

  • aami akiyesi (*) - tọkasi nọmba eyikeyi ti eyikeyi awọn ohun kikọ (pẹlu isansa wọn)
  • ami ibeere (?) – duro fun eyikeyi nikan ohun kikọ
  • ami iwon (#) - duro fun oni-nọmba kan (0-9)

Nipa aiyipada, oniṣẹ Bii jẹ ifarabalẹ ọran, ie loye, fun apẹẹrẹ, “Orion” ati “orion” gẹgẹbi awọn ile-iṣẹ oriṣiriṣi. Lati foju ọran naa, o le ṣafikun laini ni ibẹrẹ pupọ ti module ni olootu Ipilẹ Visual Aṣayan Afiwe Ọrọ, eyi ti yoo yipada Like lati wa ni irú insensitive.

Ni ọna yii, o le ṣajọ awọn iboju iparada pupọ fun ṣiṣe ayẹwo awọn ipo, fun apẹẹrẹ:

  • ?1##??777RUS - yiyan ti gbogbo awọn awo-aṣẹ ti agbegbe 777, ti o bẹrẹ pẹlu 1
  • LLC * - gbogbo awọn ile-iṣẹ ti orukọ wọn bẹrẹ pẹlu LLC
  • ##7## - gbogbo awọn ọja pẹlu koodu oni-nọmba oni-nọmba marun, nibiti nọmba kẹta jẹ 7
  • ????? - gbogbo awọn orukọ ti awọn lẹta marun, ati bẹbẹ lọ.

Ọna 3. Iṣẹ Makiro fun gluing ọrọ labẹ awọn ipo meji

Ninu iṣẹ naa iṣoro le wa nigbati o nilo lati so ọrọ pọ ju ipo kan lọ. Fun apẹẹrẹ, jẹ ki a fojuinu pe ninu tabili wa ti tẹlẹ, a ṣafikun iwe kan diẹ sii pẹlu ilu naa, ati gluing yẹ ki o ṣe kii ṣe fun ile-iṣẹ ti a fun nikan, ṣugbọn fun ilu ti a fun. Ni ọran yii, iṣẹ wa yoo ni lati di olaju diẹ nipa fifi ayẹwo iwọn miiran kun si:

MergeIfs iṣẹ (RangeTextRange Bi Range, SearchRange1 Bi Range, Condition1 Bi Okun, SearchRange2 Bi Range, Condition2 Bi Okun) Dim Delimeter Bi Okun, i As Long Delimeter = ", "" awọn ohun kikọ ipinnu (le rọpo pẹlu aaye tabi; ati bẹbẹ lọ) e.) 'Ti awọn afọwọsi ati awọn sakani gluing ko ba dọgba si ara wọn, jade pẹlu aṣiṣe Ti SearchRange1.Count <> TextRange.Count Or SearchRange2.Count <> TextRange.Count Lẹhinna MergeIfs = CVERr(xlErrRef) Ipari Iṣẹ Ijade Ti o ba jẹ pe ' lọ nipasẹ gbogbo awọn sẹẹli, ṣayẹwo gbogbo awọn ipo ki o gba ọrọ sinu oniyipada OutText Fun i = 1 Lati SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 Lẹhinna OutText = OutText & TextRange.Cells(i) & Delimeter Ipari Ti o ba tẹle ni ifihan awọn abajade laisi ipinnu ikẹhin MergeIfs = Osi(OutText, Len (OutText) - Len (Delimeter)) Iṣe ipari  

Yoo lo ni deede ni ọna kanna - awọn ariyanjiyan nikan ni bayi nilo lati ṣalaye diẹ sii:

Imora ọrọ nipa majemu

Ọna 4. Pipọpọ ati gluing ni Ibeere Agbara

O le yanju iṣoro naa laisi siseto ni VBA, ti o ba lo afikun Ibeere Agbara ọfẹ. Fun Excel 2010-2013 o le ṣe igbasilẹ nibi, ati ni Excel 2016 o ti kọ tẹlẹ nipasẹ aiyipada. Ilana ti awọn iṣe yoo jẹ bi atẹle:

Ibeere agbara ko mọ bi o ṣe le ṣiṣẹ pẹlu awọn tabili deede, nitorinaa igbesẹ akọkọ ni lati yi tabili wa sinu “ọlọgbọn” kan. Lati ṣe eyi, yan ki o tẹ apapo Konturolu+T tabi yan lati taabu Ile – Kika bi tabili (Ile - Ọna kika bi Tabili). Lori taabu ti o han lẹhinna Alakoso (Apẹrẹ) o le ṣeto orukọ tabili (Mo fi boṣewa silẹ Table 1):

Imora ọrọ nipa majemu

Bayi jẹ ki a gbe tabili wa sinu afikun Ibeere Agbara. Lati ṣe eyi, lori taabu data (ti o ba ni Excel 2016) tabi lori taabu Ibeere Agbara (ti o ba ni Excel 2010-2013) tẹ Lati tabili (Data - Lati Tabili):

Imora ọrọ nipa majemu

Ninu ferese olootu ibeere ti o ṣii, yan iwe nipa tite lori akọsori Company ki o si tẹ bọtini loke Group (Ẹgbẹ Nipasẹ). Tẹ orukọ ti iwe tuntun ati iru iṣẹ ṣiṣe ni akojọpọ - Gbogbo ila (Gbogbo awọn ori ila):

Imora ọrọ nipa majemu

Tẹ O DARA ati pe a gba tabili kekere ti awọn iye akojọpọ fun ile-iṣẹ kọọkan. Awọn akoonu ti awọn tabili jẹ han kedere ti o ba tẹ-osi lori ẹhin funfun ti awọn sẹẹli (kii ṣe lori ọrọ naa!) Ninu iwe abajade:

Imora ọrọ nipa majemu

Bayi jẹ ki a ṣafikun iwe kan diẹ sii, nibiti, ni lilo iṣẹ naa, a lẹ pọ awọn akoonu ti awọn ọwọn adirẹsi ni ọkọọkan awọn tabili kekere, ti a ya sọtọ nipasẹ awọn aami idẹsẹ. Lati ṣe eyi, lori taabu Ṣafikun iwe a tẹ Aṣa ọwọn (Ṣafikun ọwọn – ọwọn Aṣa) ati ninu ferese ti o han, tẹ orukọ ti ọwọn tuntun ati agbekalẹ ọna asopọ ni ede M ti a ṣe sinu Ibeere Agbara:

Imora ọrọ nipa majemu

Ṣe akiyesi pe gbogbo awọn iṣẹ M-iṣẹ jẹ ifarabalẹ ọran (ko dabi Excel). Lẹhin ti tẹ lori OK a gba iwe tuntun pẹlu awọn adirẹsi ti a fi lẹ pọ:

Imora ọrọ nipa majemu

O wa lati yọ ọwọn ti ko wulo tẹlẹ kuro Awọn adirẹsi tabili (tẹ ọtun lori akọle) Pa ọwọn rẹ) ati gbejade awọn abajade si dì nipa tite lori taabu Ile - Pade ati igbasilẹ (Ile - Sunmọ ati fifuye):

Imora ọrọ nipa majemu

Iyatọ pataki: Ko dabi awọn ọna iṣaaju (awọn iṣẹ), awọn tabili lati Ibeere Agbara ko ni imudojuiwọn laifọwọyi. Ti o ba jẹ pe ni ọjọ iwaju awọn ayipada eyikeyi yoo wa ninu data orisun, lẹhinna o yoo nilo lati tẹ-ọtun nibikibi ninu tabili awọn abajade ki o yan aṣẹ naa. Imudojuiwọn & Fipamọ (Tọtun).

  • Bii o ṣe le pin okun ọrọ gigun si awọn apakan
  • Awọn ọna pupọ lati lẹpọ ọrọ lati oriṣiriṣi awọn sẹẹli sinu ọkan
  • Lilo oniṣẹ Like lati ṣe idanwo ọrọ lodi si iboju-boju

Fi a Reply