Відповіді:
У електронних таблицях Google я б робив це трохи інакше.
=COUNTA(SPLIT(A1, " "))
Ця SPLIT
функція доступна лише в електронній таблиці Google і розділить вміст комірки на кожен пробіл ( " "
). COUNT
Функція буде просто вважати екземпляри.
Формула Excel дає ту саму відповідь, але трохи більш кропітка:
=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1
Дивіться наступну відповідь про те, які формули унікальні для електронної таблиці Google:
https://webapps.stackexchange.com/a/44719/29140
Невелике вдосконалення до формули в цій іншій відповіді, тому у випадку, якщо A1 порожній або якщо у нього порожній рядок, він поверне нуль.
= АБО (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))
Якщо ви хочете зробити це в діапазоні комірок (тобто A1:A25
), ви можете використовувати формулу вище, де CHAR(32)
символ пробілу" "
=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))
Це працює з порожніми клітинками, за винятком випадків, коли початкова комірка порожня.
Ще:
=COUNTA(SPLIT(TRIM(A1&" #")," "))-1
Це просто додає пробіл та знак фунту до кінця того, що знаходиться в цільовій комірці, включаючи додавання його до нуля , тому ніколи не виникає помилок, що скидають рахунок. Тоді ми просто віднімаємо тимчасовий «фальшивий простір» назад наприкінці.
=ARRAYFORMULA(IF(LEN(A3:A),
MMULT(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0),
ROW(INDIRECT("A1:A"&COUNTA(IFERROR(
QUERY(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), "limit 1", 0)))))^0), ))
=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))
=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)