Проще всего — в ячейку G4 вставить одну массивную формулу и не тянуть вниз. Например (универсальный вариант, который убирает невидимые символы и неразрывные пробелы):
Вставьте в G4:
=ARRAYFORMULA(IF(F4:F=""; ""; LEN(TRIM(CLEAN(SUBSTITUTE(F4:F; CHAR(160); " ")))))
(Если в вашей таблице разделитель аргументов — запятая, замените все “;” на “,”.)
Что делает формула
- SUBSTITUTE(...; CHAR(160); " ") — заменяет неразрывные пробелы на обычные;
- CLEAN — удаляет непечатаемые символы;
- TRIM — убирает лишние пробелы по краям;
- LEN — считает длину;
- IF(F4:F=""; ""; …) — оставляет пустыми строки, где в F нет текста.
Возможные причины, почему предыдущие формулы работали «не для всех» и как это проверить
- В столбце G есть хотя бы одна непустая ячейка ниже — ARRAYFORMULA «обрывается» при первом занятом поле. Очистите весь столбец G перед вставкой формулы.
- В ячейках F содержатся формулы, возвращающие "", либо видимые пробелы / неразрывные пробелы (CHAR(160)) — визуально пусто, но LEN считает по-разному. Используйте TRIM/CLEAN/SUBSTITUTE, как в формуле выше.
- Есть объединённые ячейки в столбце G — они мешают заполнению массива.
- Вы случайно сместили диапазон (пример: использовали F2:F при данных с F4) — проверьте диапазон.
- В ячейках F вставлены изображения, гиперссылки или специальные форматы — они могут влиять на результат.
Если будет нужно — пришлите несколько примеров значений из F (или скриншот), посмотрю конкретно.