Екцел формула: Бројање укупног броја речи у ћелији -

Преглед садржаја

Генеричка формула

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

Резиме

Да бисте пребројали укупан број речи у ћелији, можете да користите формулу засновану на функцијама ЛЕН и СУБСТИТУТЕ, уз помоћ функције ТРИМ. У приказаном примеру, формула у копији ћелије Ц5 је:

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

Формула враћа број речи у ћелији Б5.

Објашњење

Екцел нема наменску функцију за бројање речи у ћелији. Међутим, уз мало домишљатости, можете створити такву формулу користећи функције ЗАМЕНА и ЛЕН, уз помоћ ТРИМ-а, као што је приказано у примеру. На високом нивоу, ова формула користи функцију ЛЕН за бројање броја знакова у ћелији, са и без размака, а затим користи разлику да би израчунала број речи. Ово ради, јер је број речи једнак броју размака + 1, све док између сваке речи постоји по један размак.

Први део формуле броји знакове у ћелији Б5, након уклањања додатног простора:

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

Унутар ЛЕН, функција ТРИМ прво уклања све размаке између речи или на почетку или на крају текста. Ово је важно, јер ће сваки додатни размак одбацити број речи. У овом случају, нема додатних размака, па ТРИМ враћа оригинални текст директно у функцију ЛЕН, која враћа 30:

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

У овом тренутку имамо:

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

Даље користимо функцију СУБСТИТУТЕ за уклањање свих размака из текста:

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

Обавештење СУБСТИТУТЕ је конфигурисан да тражи размак ("") и замењује га празним низом (""). ЗАМЕНА ће подразумевано заменити све размаке. Резултат се испоручује директно функцији ЛЕН, која враћа број:

LEN("AllQuietontheWesternFront") // returns 25

ЛЕН враћа 25, преостали број знакова након уклањања сав простор. Сада формулу можемо поједноставити на:

=30-25+1 // returns 6

који као коначни резултат даје број 6, број речи у ћелији Б5.

Суочавање са празним ћелијама

Формула у примеру враћа 1, чак и ако је ћелија празна или садржи само размак. То се догађа јер додајемо 1 безусловно, након бројања размака између речи. Да бисте се заштитили од овог проблема, формулу можете прилагодити како је приказано доле:

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

Приметите да смо 1 заменили овим изразом:

LEN(TRIM(B5))>0

Овај код прво подрезује Б5, а затим проверава дужину. Ако Б5 садржи текст, ЛЕН враћа позитиван број, а израз ТРУЕ. Ако је Б5 празан или садржи само размак, ТРИМ враћа празан низ ("") у ЛЕН. У том случају ЛЕН враћа нулу (0), а израз ФАЛСЕ. Трик је у томе што се ТРУЕ и ФАЛСЕ процењују на 1, односно нула, када су укључени у било коју математичку операцију. Као резултат, израз додаје 1 само када је текст у Б5. У супротном, додаје нулу (0). Ова логика се такође може написати са наредбом функције ИФ овако:

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

а резултат би био исти. Горњи израз је једноставно компактнији.

Занимљиви Чланци...