Excel formula: skaitiet šūnā esošo vārdu kopējo skaitu

Satura rādītājs

Vispārēja formula

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

Kopsavilkums

Lai saskaitītu šūnas kopējos vārdus, varat izmantot formulu, kuras pamatā ir funkcijas LEN un SUBSTITUTE, izmantojot funkciju TRIM. Parādītajā piemērā šūnas C5 formula, kas nokopēta uz leju, ir:

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

Formula atgriež vārdu skaitu šūnā B5.

Paskaidrojums

Excel nav īpašas funkcijas vārdu skaitīšanai šūnā. Tomēr ar nelielu atjautību jūs varat izveidot šādu formulu, izmantojot funkcijas SUBSTITUTE un LEN, izmantojot TRIM, kā parādīts piemērā. Augstā līmenī šī formula izmanto funkciju LEN, lai skaitītu šūnā esošo rakstzīmju skaitu ar atstarpēm un bez tām, pēc tam atšķirību izmanto, lai noskaidrotu vārdu skaitu. Tas darbojas, jo vārdu skaits ir vienāds ar atstarpju skaitu + 1, ja vien starp katru vārdu ir viena atstarpe.

Pēc papildu vietas noņemšanas formulas pirmajā daļā tiek skaitītas rakstzīmes šūnā B5:

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

LEN iekšpusē funkcija TRIM vispirms noņem jebkādas papildu atstarpes starp vārdiem vai teksta sākumā vai beigās. Tas ir svarīgi, jo visas papildu atstarpes izmetīs vārdu skaitu. Šajā gadījumā nav papildu atstarpju rakstzīmju, tāpēc TRIM sākotnējo tekstu tieši atgriež funkcijai LEN, kas atgriež 30:

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

Šajā brīdī mums ir:

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

Pēc tam mēs izmantojam funkciju SUBSTITUTE, lai no teksta noņemtu visas atstarpes rakstzīmes:

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

Paziņojums SUBSTITUTE ir konfigurēts, lai meklētu atstarpes rakstzīmi ("") un aizstātu ar tukšu virkni (""). Pēc noklusējuma SUBSTITUTE aizstās visas atstarpes. Rezultāts tiek piegādāts tieši funkcijai LEN, kas atgriež skaitli:

LEN("AllQuietontheWesternFront") // returns 25

LEN atgriež 25 - atlikušo rakstzīmju skaitu pēc visas vietas noņemšanas. Tagad mēs varam vienkāršot formulu:

=30-25+1 // returns 6

kas galarezultātā atgriež 6, vārdu skaitu šūnā B5.

Darbība ar tukšajām šūnām

Piemērā sniegtā formula atgriezīs vērtību 1, pat ja šūna ir tukša vai tajā ir tikai atstarpe. Tas notiek tāpēc, ka pēc vārda atstarpes skaitīšanas mēs bez ierunām pievienojam 1. Lai novērstu šo problēmu, varat pielāgot formulu, kā parādīts zemāk:

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

Ievērojiet, ka esam aizstājuši 1 ar šo izteicienu:

LEN(TRIM(B5))>0

Šis kods vispirms apgriež B5, pēc tam pārbauda garumu. Ja B5 satur tekstu, LEN atgriež pozitīvu skaitli un izteiksme atgriež TRUE. Ja B5 ir tukšs vai satur tikai atstarpi, TRIM atgriež LEN tukšu virkni (""). Tādā gadījumā LEN atgriež nulli (0) un izteiksme atgriež FALSE. Triks ir tāds, ka TRUE un FALSE tiek vērtēti attiecīgi uz 1 un nulli, ja tie ir iesaistīti jebkurā matemātikas operācijā. Rezultātā izteiksme pievieno tikai 1, ja B5 ir teksts. Pretējā gadījumā tas pievieno nulli (0). Šo loģiku varētu rakstīt arī ar IF funkcijas paziņojumu šādi:

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

un rezultāts būtu tāds pats. Iepriekš minētā izteiksme ir vienkārši kompaktāka.

Interesanti raksti...