Start a conversation ↗

FORMULA & SQL / TEXT

Count the words in a cell.
Tested, not guessed.

The Excel and Google Sheets formula and the SQL query, each run on the rows below. Open this with your own data ↗

The example rows

RowA: RegionB: RepC: AmountD: Order DateE: StatusF: Customer
2NorthAna1,2002026-03-01PaidJo Smith
3SouthBen4502026-03-15OpenRaj Patel
4NorthCy3002026-04-02PaidLee Wong
5EastAna980.502026-04-20PaidMia Ross
6NorthBen752026-05-05OpenJo Smith
7WestDee1,6402026-05-18PaidSam Okoro

The formula

Excel
=IF(TRIM(A2)="",0,LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))+1)

If Region (A2) with extra spaces removed equals blank, then 0, otherwise the length of Region (A2) with extra spaces removed minus the length of Region (A2) with extra spaces removed with " " replaced by blank plus 1.

Run on the example rows:

RowResult
21
31
41
51
61
71

The SQL

PostgreSQL
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LENGTH(TRIM(region)) - LENGTH(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales

Run on the example rows:

regionrepamountorder_datestatuscustomerword_count
NorthAna12002026-03-01PaidJo Smith1
SouthBen4502026-03-15OpenRaj Patel1
NorthCy3002026-04-02PaidLee Wong1
EastAna980.52026-04-20PaidMia Ross1
NorthBen752026-05-05OpenJo Smith1
WestDee16402026-05-18PaidSam Okoro1
Other databases
MySQL
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LENGTH(TRIM(region)) - LENGTH(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales
SQL Server
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LEN(TRIM(region)) - LEN(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales
SQLite
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LENGTH(TRIM(region)) - LENGTH(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales
BigQuery
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LENGTH(TRIM(region)) - LENGTH(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales
Snowflake
SELECT *, CASE WHEN TRIM(region) = '' THEN 0 ELSE LENGTH(TRIM(region)) - LENGTH(REPLACE(TRIM(region), ' ', '')) + 1 END AS word_count
FROM sales

Your own data

Paste your rows into the free tool and it writes this for your columns, then runs it on your data before you copy it. Open the tool ↗

Bring us the problem. We'll work through the system.

Your next
hard problem.↗