„Excel“ formulė: pašalinkite paskutinį žodį -

Turinys

Bendroji formulė

=MID(A1,1,FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)

Santrauka

Norėdami pašalinti paskutinį žodį iš teksto eilutės, galite naudoti formulę, pagrįstą funkcija MID, padedant SUBSTITUTE, LEN ir FIND. Parodytame pavyzdyje formulė langelyje B5 yra:

=MID(B5,1,FIND("~",SUBSTITUTE(B5," ","~",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

Paaiškinimas

Ši formulė naudoja funkciją MID, kad pašalintų paskutinį žodį iš teksto eilutės. Pagrindinis iššūkis yra išsiaiškinti, kur prasideda paskutinis žodis.

Formulė yra šiek tiek sujaukta, tačiau veiksmai yra paprasti. Pirmiausia suskaičiuojame, kiek tarpų tekste yra, naudojant LEN ir SUBSTITUTE. Toliau mes naudojame šiek tiek neaiškų argumentą „egzempliorius“ funkcijoje SUBSTITUTE, kad pakeistume paskutinę erdvę tilde (~). Galiausiai, naudodamiesi FIND, norime išsiaiškinti, kur yra tildė, ir MID funkcija, kad viskas būtų išmesta po tildės.

Dirbdami iš vidaus į išorę, mes naudojame funkcijas LEN ir SUBSTITUTE, kad suskaičiuotume, kiek vietų atsiras kitoje:

LEN(B5)-LEN(SUBSTITUTE(B5," ","")) // returns 6

B5 teksto atveju gaunamas 6. Šis puslapis išsamiau paaiškina šią formulės dalį. Tai mums sako, kad norime iškirpti tekstą 6-ajame tarpo ženkle.

Pastaba: jei žodžius skiria daugiau nei vienas tarpas, pirmiausia norėsite normalizuoti tarpus naudodami funkciją TRIM.

Tada numeris 6 prijungiamas prie kito PAKEITIMO kaip „egzemplioriaus numeris“:

SUBSTITUTE(B5," ","~",6) // insert tilde

Čia mes pakeisime 6-ą tarpo ("") egzempliorių tilde (~). Paleidus SUBSTITUTE, ji grąžina šią eilutę:

"It's been seven hours and fifteen~days"

Pastaba: mes naudojame tildę (~) tik todėl, kad tai retai pasitaikantis simbolis. Galite naudoti bet kurį patinkantį simbolį, jei jis nerodomas šaltinio tekste.

Tada mes naudojame funkciją FIND, kad surastume tildę:

FIND("~","It's been seven hours and fifteen~days")-1

FIND grąžina 34, nes tildė yra 34 simbolis. Iš šio skaičiaus atimame 1, nes nenorime į galutinį rezultatą įtraukti paskutinės vietos. Dabar formulę galime supaprastinti taip:

=MID(B5,1,33) // extract final text

Tada funkcija MID pateikia 1-33 simbolius:

"It's been seven hours and fifteen"

Su pasirinktiniu ribotuvu

Ta pati formulė gali būti naudojama su skirtingu ribotuvu. Pvz., Jei norite pašalinti visą tekstą po paskutinio pasvirojo brūkšnio „/“, galite naudoti:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,"/","~",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-1)

Pašalinti paskutinius n žodžių

Galite pritaikyti formulę, kad pašalintumėte paskutinius 2 žodžius, 3 paskutinius žodžius ir kt. Bendroji forma yra:

=MID(A1,1,FIND("~",SUBSTITUTE(A1,d,"~",LEN(A1)-LEN(SUBSTITUTE(A1,d,""))-(n-1)))-1)

kur d yra ribotuvas ir n yra pašalinamų žodžių skaičius.

Įdomios straipsniai...