Excel formula: Brojanje ukupnog broja riječi u ćeliji -

Sadržaj

Generička formula

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Sažetak

Za brojanje ukupnog broja riječi u ćeliji možete upotrijebiti formulu koja se temelji na funkcijama LEN i SUBSTITUTE, uz pomoć funkcije TRIM. U prikazanom primjeru, formula u kopiji ćelije C5 je:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+1

Formula vraća broj riječi u ćeliji B5.

Obrazloženje

Excel nema namjensku funkciju za brojanje riječi u ćeliji. Međutim, uz malo domišljatosti, takvu formulu možete stvoriti pomoću funkcija ZAMJENA i LEN uz pomoć TRIM-a, kao što je prikazano u primjeru. Na visokoj razini, ova formula koristi funkciju LEN za brojanje broja znakova u ćeliji, sa i bez razmaka, a zatim koristi razliku za utvrđivanje broja riječi. To djeluje, jer je broj riječi jednak broju razmaka + 1, sve dok između svake riječi postoji jedan razmak.

Prvi dio formule broji znakove u ćeliji B5, nakon uklanjanja suvišnog prostora:

=LEN(TRIM(B5)) // normalize space, count characters

Unutar LEN, funkcija TRIM prvo uklanja sve razmake između riječi ili na početku ili na kraju teksta. To je važno, jer će svaki dodatni razmak izbaciti broj riječi. U ovom slučaju nema dodatnih razmaka, pa TRIM izvorni tekst vraća izravno u funkciju LEN koja vraća 30:

LEN("All Quiet on the Western Front") // returns 30

U ovom trenutku imamo:

=30-LEN(SUBSTITUTE(B5," ",""))+1

Dalje, pomoću funkcije SUBSTITUTE uklanjamo sve razmake iz teksta:

SUBSTITUTE(B5," ","") // strip all space

Obavijest SUBSTITUTE je konfiguriran za traženje razmaka ("") i zamjenu praznim nizom (""). Prema zadanim postavkama, ZAMJENA će zamijeniti sve razmake. Rezultat se isporučuje izravno funkciji LEN, koja vraća broj:

LEN("AllQuietontheWesternFront") // returns 25

LEN vraća 25, preostali broj znakova nakon što je uklonjen sav prostor. Sada formulu možemo pojednostaviti na:

=30-25+1 // returns 6

koji kao konačni rezultat vraća broj 6, broj riječi u ćeliji B5.

Suočavanje s praznim stanicama

Formula u primjeru vratit će 1 čak i ako je ćelija prazna ili sadrži samo razmak. To se događa zato što bezuvjetno dodajemo 1, nakon brojanja razmaka između riječi. Da biste se zaštitili od ovog problema, možete prilagoditi formulu kako je prikazano dolje:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Primijetite da smo 1 zamijenili ovim izrazom:

LEN(TRIM(B5))>0

Ovaj kod prvo obrezuje B5, a zatim provjerava duljinu. Ako B5 sadrži tekst, LEN vraća pozitivan broj, a izraz TRUE. Ako je B5 prazan ili sadrži samo razmak, TRIM vraća prazan niz ("") u LEN. U tom slučaju LEN vraća nulu (0), a izraz FALSE. Trik je u tome što se TRUE i FALSE procjenjuju na 1, odnosno nula, kada su uključeni u bilo koju matematičku operaciju. Kao rezultat, izraz dodaje 1 samo kad je tekst u B5. U suprotnom dodaje zbroj (0). Ovu logiku također možemo napisati s naredbom funkcije IF ovako:

IF(LEN(TRIM(B5))>0,1,0)

a rezultat bi bio isti. Gornji je izraz jednostavno kompaktniji.

Zanimljivi članci...