Tynnwch y testun cyn, ar ôl neu rhwng dau nod yn Excel

  • Rhannu Hwn
Michael Brown

Yn y cwpl o erthyglau diweddar, rydym wedi edrych ar wahanol ffyrdd o dynnu nodau o linynnau yn Excel. Heddiw, byddwn yn ymchwilio i un achos defnydd arall - sut i ddileu popeth cyn neu ar ôl nod penodol.

    Dileu testun cyn, ar ôl neu rhwng 2 nod gyda Find & Amnewid

    Ar gyfer trin data mewn celloedd lluosog, Find and Replace yw'r offeryn cywir. I dynnu rhan o linyn sy'n rhagflaenu neu'n dilyn nod penodol, dyma'r camau i'w perfformio:

    1. Dewiswch yr holl gelloedd lle rydych am ddileu testun.
    2. Pwyswch Ctrl+H i agor y ddeialog Canfod ac Amnewid .
    3. Yn y blwch Dod o hyd i beth , rhowch un o'r cyfuniadau canlynol:
      • I ddileu testun cyn nod penodol , teipiwch y nod a seren (* torgoch) o'i flaen.
      • I dynnu testun ar ôl nod arbennig , teipiwch y nod ac yna seren *).
      • I ddileu is-linyn rhwng dau nod , teipiwch seren wedi'i hamgylchynu gan 2 nod (torgoch*).
    4. Gadewch y Amnewid â blwch gwag.
    5. Cliciwch Amnewid popeth .

    Er enghraifft, i dynnu popeth ar ôl coma gan gynnwys y coma ei hun, rhowch goma ac arwydd seren (,*) yn y blwch Dod o hyd i beth , a byddwch yn cael y canlyniad canlynol:

    I ddileu is-linyn cyn atalnod , teipiwch seren, coma,popeth ar ôl y coma 1af yn A2, y fformiwla yn B2 yw:

    =RemoveText(A3, ", ", 1, TRUE)

    I ddileu popeth cyn y coma 1af yn A2, y fformiwla yn C2 yw:

    =RemoveText(A3, ", ", 1, FALSE)

    Gan fod ein ffwythiant personol yn derbyn llinyn ar gyfer y amffinydd , rydyn ni'n rhoi coma a bwlch (", ") yn yr 2il ddadl i arbed y drafferth o docio bylchau arweiniol wedyn.

    Mae ein swyddogaeth arfer yn gweithio'n hyfryd, onid yw? Ond os ydych chi'n meddwl mai dyma'r ateb cynhwysfawr, nid ydych chi wedi gweld yr enghraifft nesaf eto :)

    Dileu popeth cyn, ar ôl neu rhwng nodau

    I gael hyd yn oed mwy o opsiynau ar gyfer dileu nodau unigol neu testun o gelloedd lluosog, yn ôl cyfatebiaeth neu leoliad, ychwanegwch ein Ultimate Suite at eich blwch offer Excel.

    Yma, byddwn yn edrych yn agosach ar y nodwedd Dileu yn ôl Safle sydd ar y Ablebits Data tab > Testun grŵp > Dileu .

    Isod, byddwn yn ymdrin â'r ddau senarios mwyaf cyffredin.

    Dileu popeth cyn neu ar ôl testun penodol

    Tybiwch fod eich holl linynnau ffynhonnell yn cynnwys gair neu destun cyffredin a'ch bod am ddileu popeth cyn neu ar ôl y testun hwnnw. I'w wneud, dewiswch eich data ffynhonnell, rhedeg yr offeryn Dileu yn ôl Safle , a'i ffurfweddu fel y dangosir isod:

    1. Dewiswch y Pob nod cyn y testun neu Pob nod ar ôl opsiwn testun a theipiwch y testun allweddol (neu'r nod) yn y blwch nesafiddo.
    2. Yn dibynnu a ddylid trin prif lythrennau a llythrennau bach fel llythrennau gwahanol neu'r un nodau, gwiriwch neu dad-diciwch y blwch Cos-sensitif .
    3. Tarwch Dileu .

    Yn yr enghraifft hon, rydym yn dileu pob nod sy'n rhagflaenu'r gair "gwall" yng nghelloedd A2:A8:

    >A chael yn union y canlyniad rydym yn chwilio amdano:

    >

    Tynnu testun rhwng dau nod

    Mewn sefyllfa pan fo gwybodaeth amherthnasol rhwng 2 nod penodol, dyma sut gallwch ei ddileu yn gyflym:

    1. Dewiswch Dileu pob is-linyn a theipiwch ddau nod yn y blychau isod.
    2. Os dylid dileu'r nodau "rhwng" hefyd , ticiwch y blwch Gan gynnwys amffinyddion .
    3. Cliciwch Dileu .

    Fel er enghraifft, rydym yn dileu popeth rhwng dau nod tilde (~), ac yn cael y llinynnau wedi'u glanhau'n berffaith o'r canlyniad:

    I roi cynnig ar nodweddion defnyddiol eraill sydd wedi'u cynnwys gyda'r aml-swyddogaeth hwn offeryn, rwy'n eich annog i lawrlwytho e fersiwn prisio ar ddiwedd y swydd hon. Diolch am ddarllen a gobeithio eich gweld ar ein blog wythnos nesaf!

    Lawrlwythiadau ar gael

    Tynnwch y nodau cyntaf neu olaf - enghreifftiau (ffeil .xlsm)

    Ultimate Suite - fersiwn prawf (ffeil.exe)

    a bwlch (*, ) yn y blwch Dod o hyd i beth.

    Sylwch ein bod yn disodli nid yn unig coma ond coma a bwlch i atal arwain bylchau yn y canlyniadau. Os yw eich data wedi'i wahanu gan atalnodau heb fylchau, yna defnyddiwch seren ac yna atalnod (*,).

    I ddileu testun rhwng dau atalnod , defnyddiwch seren wedi'i hamgylchynu gan atalnodau (,*,).

    Tip. Os byddai'n well gennych i'r enwau a'r rhifau ffôn gael eu gwahanu gan goma, yna teipiwch atalnod (,) yn y maes Amnewid gyda .

    Dileu rhan o destun gan ddefnyddio Flash Fill

    Mewn fersiynau modern o Excel (2013 ac yn ddiweddarach), mae un ffordd hawddach o ddileu testun sy'n rhagflaenu neu'n dilyn nod penodol - y nodwedd Flash Fill. Dyma sut mae'n gweithio:

    1. Mewn cell wrth ymyl y gell gyntaf gyda'ch data, teipiwch y canlyniad disgwyliedig a gwasgwch Enter .
    2. Dechrau teipio gwerth priodol yn y gell nesaf. Unwaith y bydd Excel yn teimlo'r patrwm yn y gwerthoedd rydych chi'n eu nodi, bydd yn dangos rhagolwg ar gyfer y celloedd sy'n weddill gan ddilyn yr un patrwm.
    3. Tarwch y fysell Enter i dderbyn yr awgrym.

    Wedi'i Wneud!

    4>Tynnu testun gan ddefnyddio fformiwlâu

    Yn Microsoft Excel, mae modd hefyd defnyddio fformiwla i drin llawer o ddata a gyflawnir gan ddefnyddio nodweddion adeiledig. Yn wahanol i'r dulliau blaenorol, nid yw fformiwlâu yn gwneud unrhyw newidiadau i'r data gwreiddiol ac yn rhoi mwy o reolaeth i chiy canlyniadau.

    Sut i dynnu popeth ar ôl nod penodol

    I ddileu testun ar ôl nod penodol, y fformiwla generig yw:

    LEFT( cell , CHWILIO (" torgoch ", cell ) -1)

    Yma, rydym yn defnyddio'r swyddogaeth CHWILIO i gael lleoliad y nod a'i drosglwyddo i'r ffwythiant CHWITH, felly mae'n echdynnu y nifer cyfatebol o nodau o ddechrau'r llinyn. Mae un nod yn cael ei dynnu o'r rhif a ddychwelwyd gan SEARCH i eithrio'r amffinydd o'r canlyniadau.

    Er enghraifft, i dynnu rhan o linyn ar ôl coma, rydych yn rhoi'r fformiwla isod yn B2 ac yn ei lusgo i lawr drwy B7 :

    =LEFT(A2, SEARCH(",", A2) -1)

    Sut i dynnu popeth cyn nod penodol

    I ddileu rhan o linyn testun cyn nod penodol, mae'r fformiwla generig yw:

    DDE( cell , LEN( cell ) - SEARCH(" torgoch ", cell ))

    Yma, rydym eto'n cyfrifo lleoliad y nod targed gyda chymorth SEARCH, ei dynnu o gyfanswm hyd y llinyn a ddychwelwyd gan LEN, a throsglwyddo'r gwahaniaeth i'r ffwythiant CYRCH, felly mae'n tynnu cymaint â hynny o nodau o ddiwedd y llinyn.

    Er enghraifft, i dynnu testun cyn coma, y ​​fformiwla yw:

    =RIGHT(A2, LEN(A2) - SEARCH(",", A2))

    Yn ein hachos ni, mae nod gofod yn dilyn y coma. Er mwyn osgoi bylchau arweiniol yn y canlyniadau, rydym yn lapio'r fformiwla graidd yn y ffwythiant TRIM:

    =TRIM(RIGHT(A2, LEN(A2) - SEARCH(",", A2)))

    Nodiadau:

    • Y ddauo'r enghreifftiau uchod cymerwch mai dim ond un enghraifft sydd o'r amffinydd yn y llinyn gwreiddiol. Os oes sawl digwyddiad, bydd y testun yn cael ei ddileu cyn/ar ôl y cychwyniad cyntaf .
    • Nid yw'r ffwythiant CHWILIO yn sensitif i achosion , sy'n golygu nad yw'n gwneud unrhyw wahaniaeth rhwng llythrennau bach a llythrennau mawr. Os mai llythyren yw'ch nod penodol a'ch bod am wahaniaethu rhwng y cas llythrennau, yna defnyddiwch y swyddogaeth cas-sensitif FIND yn lle CHWILIO.

    Sut i ddileu testun ar ôl y Nfed digwyddiad o nod

    Mewn sefyllfa pan fo llinyn ffynhonnell yn cynnwys sawl enghraifft o'r amffinydd, efallai y bydd angen i chi dynnu testun ar ôl enghraifft benodol. Ar gyfer hyn, defnyddiwch y fformiwla ganlynol:

    LEFT( cell , FIND("#", SUBSTITUTE( cell , " torgoch ", "#" , n )) -1)

    Ble n mae'r nod yn digwydd ar ôl hynny i dynnu testun.

    Mae rhesymeg fewnol y fformiwla hon yn gofyn am ddefnyddio rhyw nod nad yw'n bresennol yn unrhyw le yn y data ffynhonnell, symbol hash (#) yn ein hachos ni. Os yw'r nod hwn yn digwydd yn eich set ddata, yna defnyddiwch rywbeth arall yn lle "#".

    Er enghraifft, i dynnu popeth ar ôl yr 2il goma yn A2 (a'r coma ei hun), y fformiwla yw:<1

    =LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

    Sut mae'r fformiwla hon yn gweithio:

    Rhan allweddol y fformiwla yw'r ffwythiant FIND sy'n cyfrifo'r sefyllfa y nthamffinydd (coma yn ein hachos ni). Dyma sut:

    Rydym yn disodli'r 2il goma yn A2 gyda symbol hash (neu unrhyw nod arall nad yw'n bodoli yn eich data) gyda chymorth SUBSTITUTE:

    SUBSTITUTE(A2, ",", "#", 2)

    Mae'r llinyn canlyniadol yn mynd i'r 2il arg o FIND, felly mae'n darganfod lleoliad "#" yn y llinyn hwnnw: Mae

    FIND("#", "Emma, Design# (102) 123-4568")

    FIND yn dweud wrthym mai "#" yw'r 13eg nod yn y llinyn. I wybod nifer y nodau o'i flaen, tynnwch 1, a byddwch yn cael 12 fel canlyniad:

    FIND("#", SUBSTITUTE(A2, ",", "#", 2)) - 1

    Mae'r rhif hwn yn mynd yn syth i'r arg num_chars o CHWITH yn gofyn iddo dynnu'r 12 nod cyntaf o A2:

    =LEFT(A2, 12)

    Dyna ni!

    Sut i ddileu testun cyn Nfed digwyddiad nod

    Y fformiwla generig i dynnu is-linyn cyn nod penodol yw:

    DDE(SUBSTITUTE( cell , " torgoch ", "#", n ), LEN( cell ) - FIND("#", SUBSTITUTE( cell , " torgoch ", "#", n )) -1)

    Er enghraifft, i dynnu testun cyn yr 2il goma yn A2, y fformiwla yw:

    =RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

    I ddileu gofod arweiniol, rydym eto'n defnyddio'r TRIM swyddogaeth fel deunydd lapio:

    =TRIM(RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))))

    Sut mae'r fformiwla hon yn gweithio:

    I grynhoi, rydym yn darganfod faint o nodau sydd ar ôl yr nfed amffinydd a thynnu is-linyn o'r hyd cyfatebol o'r dde. Isod mae dadansoddiad y fformiwla:

    Yn gyntaf, rydyn ni'n disodli'r 2il goma yn A2 gyda hashsymbol:

    SUBSTITUTE(A2, ",", "#", 2)

    Mae'r llinyn canlyniadol yn mynd i'r arg testun o DDE:

    RIGHT("Emma, Design# (102) 123-4568", …

    Nesaf, mae angen i ni diffinio faint o nodau i'w tynnu o ddiwedd y llinyn. Ar gyfer hyn, rydym yn dod o hyd i leoliad y symbol hash yn y llinyn uchod (sef 13):

    FIND("#", SUBSTITUTE(A2, ",", "#", 2))

    A'i dynnu o gyfanswm hyd y llinyn (sy'n hafal i 28):

    LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))

    Mae'r gwahaniaeth (15) yn mynd i'r ail arg o DDE gan ei gyfarwyddo i dynnu'r 15 nod olaf o'r llinyn yn y ddadl gyntaf:

    RIGHT("Emma, Design# (102) 123-4568", 15)

    Mae'r allbwn yn is-linyn " (102) 123-4568, sy'n agos iawn at y canlyniad dymunol, ac eithrio bwlch arweiniol. Felly, rydym yn defnyddio'r ffwythiant TRIM i gael gwared arno.

    Sut i dynnu testun ar ôl digwyddiad olaf nod

    Rhag ofn bod eich gwerthoedd wedi'u gwahanu â nifer amrywiol o amffinyddion, byddwch efallai y byddwch am gael gwared ar bopeth ar ôl enghraifft olaf y amffinydd hwnnw. Gellir gwneud hyn gyda'r fformiwla ganlynol:

    LEFT( cell , FIND("#", SUBSTITUTE( cell , " torgoch ", "# ", LEN( cell ) - LEN(SUBSTITUTE( cell , " torgoch " , ""))) -1)

    Tybiwch golofn A yn cynnwys gwybodaeth amrywiol am weithwyr, ond mae'r gwerth ar ôl y coma olaf bob amser yn rhif ffôn. Eich nod yw tynnu rhifau ffôn a chadw'r holl fanylion eraill.

    I gyflawni'r nod, gallwch dynnu testun ar ôl y coma olaf yn A2 gyda hynfformiwla:

    =LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))) -1)

    Copïwch y fformiwla i lawr y golofn, a byddwch yn cael y canlyniad hwn:

    Sut mae hyn gweithio fformiwla:

    Hist y fformiwla yw ein bod yn pennu lleoliad y amffinydd olaf (coma) yn y llinyn ac yn tynnu is-linyn o'r chwith i fyny i'r amffinydd. Cael safle'r amffinydd yw'r rhan anoddaf, a dyma sut rydyn ni'n ei drin:

    Yn gyntaf, rydyn ni'n darganfod faint o atalnodau sydd yn y llinyn gwreiddiol. Ar gyfer hyn, rydym yn disodli pob coma gyda dim ("") ac yn gwasanaethu'r llinyn canlyniadol i'r ffwythiant LEN:

    LEN(SUBSTITUTE(A2, ",",""))

    Ar gyfer A2, y canlyniad yw 35, sef nifer y nodau yn A2 heb atalnodau.

    Tynnwch y rhif uchod o gyfanswm hyd y llinyn (38 nod):

    LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))

    … a byddwch yn cael 3, sef y cyfanswm o atalnodau yn A2 (a hefyd rhif trefnolyn y coma olaf).

    Nesaf, byddwch yn defnyddio'r cyfuniad sydd eisoes yn gyfarwydd o'r ffwythiannau FIND a SUBSTITUTE i gael lleoliad y coma olaf yn y llinyn. Mae rhif yr enghraifft (3ydd coma yn ein hachos ni) yn cael ei gyflenwi gan y fformiwla LEN SUBSTITUTE uchod:

    FIND("#", SUBSTITUTE(A2, ",", "#", 3))

    Mae'n ymddangos mai'r 3ydd coma yw'r 23ain nod yn A2, sy'n golygu bod angen i echdynnu 22 nod o'i flaen. Felly, rydyn ni'n rhoi'r fformiwla uchod minws 1 yn arg num_chars o CHWITH:

    LEFT(A2, 23-1)

    Sut i dynnu testun cyn y digwyddiad olaf o nod

    I ddileupopeth cyn enghraifft olaf nod penodol, y fformiwla generig yw:

    DDE( cell , LEN( cell ) - FIND("#", SUBSTITUTE( cell , " torgoch ", "#", LEN( cell ) - LEN(SUBSTITUTE( cell , " torgoch ", "")))))

    Yn ein tabl sampl, i ddileu testun cyn y coma olaf, mae'r fformiwla ar y ffurf hon:

    =RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))))

    Fel cyffyrddiad gorffen, rydym yn nythu i mewn i'r ffwythiant TRIM i ddileu bylchau arweiniol:

    =TRIM(RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))))

    Sut mae'r fformiwla hon yn gweithio:

    I grynhoi, rydym yn cael safle'r coma olaf fel yr eglurwyd yn yr enghraifft flaenorol ac yn ei dynnu o gyfanswm hyd y llinyn:

    LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))

    O ganlyniad, rydym yn cael nifer y nodau ar ôl y coma olaf a'i basio i'r ffwythiant DDE, felly mae'n dod â llawer o nodau o ddiwedd y llinyn. rydych chi wedi'i weld yn yr enghreifftiau uchod, gallwch chi ddatrys bron unrhyw achos defnydd trwy ddefnyddio frodorol Excel undebau mewn gwahanol gyfuniadau. Y broblem yw bod angen i chi gofio llond llaw o fformiwlâu anodd. Hmm, beth os ydym yn ysgrifennu ein swyddogaeth ein hunain i gwmpasu'r holl senarios? Swnio fel syniad da. Felly, ychwanegwch y cod VBA canlynol i'ch llyfr gwaith (mae'r camau manwl i fewnosod VBA yn Excel yma):

    Swyddogaeth RemoveText(str Fel Llinynnol , amffinydd Fel Llinyn , digwydd Fel Cyfanrif , is_after AsBoolean ) Dim delimiter_num, start_num, delimiter_len Fel Cyfanrif Dim str_result Fel Llinyn delimiter_num = 0 start_num = 1 str_result = " " delimiter_len = Len(amffinydd) Ar gyfer i = 1 I ddigwydd delimiter_num = InStr, str_ompare, v_num = InStr(start) < delimiter_num Yna start_num = delimiter_num + delimiter_len Gorffen Os Nesaf i Os 0 < delimiter_num Yna Os Gwir = is_after Yna str_result = Canol(str, 1, start_num - delimiter_len - 1) Arall str_result = Canolbarth(str, start_num) Diwedd Os Diwedd Os DileuText = str_result Swyddogaeth Diwedd

    Enwir ein swyddogaeth RemoveText ac mae ganddo'r gystrawen ganlynol:

    RemoveText(llinyn, amffinydd, digwydd, is_after)

    Ble:

    Llinyn - yw'r llinyn testun gwreiddiol. Gellir ei gynrychioli gan gyfeirnod cell.

    Amffinydd - y nod cyn/ar ôl i dynnu'r testun.

    Digwyddiad - enghraifft y amffinydd.

    Is_after - gwerth Boole sy'n nodi ar ba ochr i'r amffinydd i dynnu testun. Gall fod yn nod sengl neu ddilyniant o nodau.

    • CYWIR - dilëwch bopeth ar ôl y amffinydd (gan gynnwys y amffinydd ei hun).
    • GAU - dilëwch bopeth cyn y amffinydd (gan gynnwys y amffinydd ei hun).

    Unwaith mae cod y ffwythiant wedi ei fewnosod yn eich llyfr gwaith, gallwch dynnu is-linynnau o gelloedd gan ddefnyddio fformiwlâu cryno a chain.

    Er enghraifft, i ddileu

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.