Страницы: 1
RSS
Счет количества слов в ячейке
 
Доброе утро.
Подскажите пожалуйста, что пишу не правильно в форуме с "Если" не хочет считать.
А то без ЕСЛИ считает пустую ячейку.
Код
=СУММПРОИЗВ(ЕСЛИ(ЕПУСТО(H4:K7);0;ДЛСТР(СЖПРОБЕЛЫ(H4:K7))-ДЛСТР(ПОДСТАВИТЬ(H4:K7;" ";""))+1)/2) 
 пишет ошибку знач
Код
=СУММПРОИЗВ(ДЛСТР(СЖПРОБЕЛЫ(H15:H18))-ДЛСТР(ПОДСТАВИТЬ(H15:H18;" ";""))+1)/2 
а так считает с пустой ячейкой.
 
Исправил Вашу формулу. Обратите внимание на примечание в файле
 
MrBabka дополню (с учетом ответа и примера выше): если у вас есть написания разделенные, типа чеснср 2 (на которые обращено внимание в примере от amibus) и которые по-факту вам нужны как одно слово, но всегда "слова" разделены запятой, то  возможно проще слова считать по запятым а не пробелам.
Изменено: andylu - 04.12.2021 09:40:18
 
Формула для подсчета по количеству запятых
Код
=ЕСЛИ(ЕПУСТО(H4);"нет слов";ДЛСТР(H4)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(H4);",";""))+1)
 
Код
=СЧЁТЗ(ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ(",";1;H4:H7);",";"</i><i>")&"</i></j>";"//i"))
 
amibus, ЕПУСТО(H4) можно H4="". Зачем СТРОЧН? Лишня функция.
 
, спасибо. Но мне нужно именно сумма всех слов чтобы считалось со строк 4-7. в столбце Е.
Когда пишу суммапроиз ошибка знач.
По примечанию, знаю, что считается каждый пробел, так и нужно. чеснср должна быть в 2 фейса. и как раз она так и считает.
не получается общая сумма в итоговой ячейке в строке Е
 
Цитата
MrBabka написал: считается каждый пробел, так и нужно. чеснср должна быть в 2 фейса. и как раз она так и считает.
Слово - часть текста, отделенная пробелами. А теперь, чтобы понятно было не только фейс'ам и чеснср'ам :) - что считать нужно?
 
,чтобы в красной ячейке считались слова из зеленных. выделил в файле.  
 
MrBabka, Зачем вы объединили ячейки в столбцах I, J, K? В них все равно пусто, все данные в столбце H.
Ну и формула соответственно:
Код
=SUMPRODUCT((H4:H7<>"")*(LEN(H4:H7)-LEN(SUBSTITUTE(H4:H7;" ";""))+1))

Если объединенные ячейки - непременное условие то тогда массивная:
Код
=SUM(IFNA((H4:K7<>"")*(LEN(H4:K7)-LEN(SUBSTITUTE(H4:K7;" ";""))+1);))

Учтите, что Excel откажется принять массивную формулу в объединенные ячейки Е4:Е7. Их надо сначала разъединить, ввести формулу (через CTRL+SHIFT+ENTER) в ячейку Е4, затем выделить диапазон Е4:Е7 и снова объединить.
 
Что то понаписано...

Я считаю так:
Код
Function Число_слов(Сборник_слов, Разделитель) As String
' Сборник_слов - адрес ячейки с текстом, который делим
' Разделитель - символ-разделитель (пробел, запятая и т.д.)
Сборник_слов = Application.WorksheetFunction.Trim(Сборник_слов) ' Лишние пробелы убираю... 
Dim x As Variant
x = Split(Сборник_слов, Разделитель)
Число_слов = UBound(x) + 1
End Function
Изменено: tutochkin - 04.12.2021 18:50:33 (Добавил файлик)
 
memo В вашу формулу надо добавить СЖПРОБЕЛЫ, иначе если между слов больше 1 пробела будет неверный результат
Код
=СУММПРОИЗВ((G4:G7<>"")*(ДЛСТР(СЖПРОБЕЛЫ(G4:G7))-ДЛСТР(ПОДСТАВИТЬ(G4:G7;" ";""))+1))
 
Цитата
Евгений Смирнов написал:
если между слов больше 1 пробела
а если в ячейке будет просто два пробела ? То все результаты будут так себе :-)
=SUMPRODUCT(LEN(TRIM(H4:H7))-LEN(SUBSTITUTE(TRIM(H4:H7);" ";""))+(TRIM(H4:H7)<>""))
=СУММПРОИЗВ(ДЛСТР(СЖПРОБЕЛЫ(H4:H7))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(H4:H7);" ";""))+(СЖПРОБЕЛЫ(H4:H7)<>""))

Вопрос неразрывных пробелов лучше не поднимать :-)
По вопросам из тем форума, личку не читаю.
 
БМВ Здравствуйте
Ну как ваши формулы читать? Я не знаю функции на английском. Вы же не в Америке живете. Поэтому пишите на русском. Мне надоело открывать файл где список функций на русском и английском. Или расскажите как их быстро преобразовать если у меня русскоязычная версия.
Изменено: Евгений Смирнов - 05.12.2021 09:41:34
 
Евгений Смирнов,  обычно я прикладываю файл, но тут ,  в виду того что функция состоит из тех что озвучены ранее решил что перевести не составит труда.
Цитата
Евгений Смирнов написал:
Вы же не в Америке живете.
не в Америки, но пользую только тот интерфейс, что дан этой программе при рождении.
Цитата
Евгений Смирнов написал:
как их быстро преобразовать
- установить Libre Calc, там можно быстро переключаться между языком функций,
- воспользоваться одним из многочисленных онлайн вариантов https://en.excel-translator.de/translator/
- просто заменить, как часто делаю это я взяв аналог из головы. выше добавилась только TRIM/СЖПРОБЕЛЫ остальные функции были без изменений.

=СУММПРОИЗВ(ДЛСТР(СЖПРОБЕЛЫ(H4:H7))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(H4:H7);" ";""))+(СЖПРОБЕЛЫ(H4:H7)<>""))
Изменено: БМВ - 05.12.2021 10:06:42
По вопросам из тем форума, личку не читаю.
 
БМВ Я конечно переписываю по 3 варианту. И с этого есть польза, когда то я больше буду знать функций на английском,  у меня есть файл сопоставлений, и немного слов из VBA знаю. А вот людям с меньшим объемом знаний в Эксель и VBA  думаю туго приходиться, хотя это стимулирует обучение
Перевести на английский русскую можно через VBA. А наоборот, не любая формула получается по моему.
Изменено: Евгений Смирнов - 05.12.2021 10:23:48
 
Цитата
Евгений Смирнов написал:
если между слов больше 1 пробела будет неверный результат
БМВ уже поправил)
Цитата
Евгений Смирнов написал:
Я не знаю функции на английском. Вы же не в Америке живете.
Кстати, во многих странах Европы, а также Азии используют именно англ. интерфейс, видимо для них так проще. Я тоже в силу привычки всегда использую англ. интерфейс.)
 
memo  . Да когда уже знаешь те слова которые используются то можно. Мне сейчас кажется, что в VBA  на русском было бы хуже писать. Привык уже. Хотя английский не знаю.
 
Государство топит за импортозамещение, а сделать свой достойный продукт на замену не может(/хочет/?), надо средства выделять. Люди, насколько я понимаю, соображающие есть, но бесплатно не работают(не хотят).
Изменено: Тимофеев - 05.12.2021 11:24:22
 
БМВ Не рассказали как правильно перевести формулу с английского на русский и не надо.
Файл соответствия  русских и английских функции стираю. Можете теперь писать на любом. Все функции на английском выучил.
 
Off
Цитата
Евгений Смирнов написал:
БМВ Не рассказали как правильно перевести формулу с английского на русский и не надо.
не понял? Вроде все написал.
Что касаемо VBA,  Formula, FormulaR1C1 всегда англоязычные, но с поправкой на то что региональные установки могут влиять на разделители на листе, а в VBA будут стандартные. Те же функции Local будут использовать язык интерфейса приложения. FormulaArray не имеет локализованного варианта (и слава богу :-) )  

Цитата
Тимофеев написал:
а сделать свой достойный продукт на замену не может(/хочет/?), надо средства выделять.
Зачем выделять средства? Достаточно внести в реестр российского ПО и деньги сами польются рекой. При отсутствии конкуренции мой офис сейчас и P7 рванут, правда прощай все хорошее, надстройки всякие, PowerQuery и прочее, но ведь это не важно, пармезан и в Костроме варим.
Цитата
Тимофеев написал:
насколько я понимаю, соображающие есть, но бесплатно не работают(не хотят).
Open, Libre развиваются много лет энтузиастами которые тоже чего-то стоят, но пока продукт сильно уступает по быстродействию хотя б. Слизать интерфейс и набор функция - это не все. Нужно чтоб это все работало. Пересобрать из OpenSource чего-то немного подкрутив  - это не импортозамещение, это даже не ответ мол мы сами умеем, а просто мы без вас кое-как обойдемся. Не беру в расчет продукты имеющие десятилетние истории, такие как Касперский, но это исходно продукт рожденный тут. Пусть попробует кто-то с нуля  сделать аналогичное, даже с тем же наборов багов, ошибок проблем (я не поклонник этого продукта, просто вынужден им пользоваться, по этому не хвалю и не ругаю а констатирую что за многолетнюю историю разработан конкурентоспособный продукт, занимающий очень весомый сегмент рынка, и уже давно не просто антивирус, а комплексный продукт)
По вопросам из тем форума, личку не читаю.
 
, спасибо, все работает как нужно.
Так же всем спасибо кто откликнулся.
Хорошего всем вечера.  
 
Цитата
написал:
Open, Libre развиваются много лет энтузиастами которые тоже чего-то стоят, но пока продукт сильно уступает по быстродействию хотя б. Слизать интерфейс и набор функция - это не все. Нужно чтоб это все работало. Пересобрать из OpenSource чего-то немного подкрутив  - это не импортозамещение, это даже не ответ мол мы сами умеем, а просто мы без вас кое-как обойдемся. Не беру в расчет продукты имеющие десятилетние истории, такие как Касперский, но это исходно продукт рожденный тут. Пусть попробует кто-то с нуля  сделать аналогичное, даже с тем же наборов багов, ошибок проблем (я не поклонник этого продукта, просто вынужден им пользоваться, по этому не хвалю и не ругаю а констатирую что за многолетнюю историю разработан конкурентоспособный продукт, занимающий очень весомый сегмент рынка, и уже давно не просто антивирус, а комплексный продукт)
Так МойОфис с нуля и пишут. Они об этом говорят везде. У нас на рынке есть одна копия опнсорса, и это не Мойофис, а другой редактор, какой - писать не буду. Вы их перепутали наверное. А что касается Касперсого, то они тоже насколько помню имеют какие - то отношение к Мойофис, не владельцы, возможно партнеры. Так что вы в общем - то все правильно говорите, но только ваши слова нужно не в негативном а в позитивном контесте читать. Да, есть российский бренд, который не копировал в кои-то веки кого - то а пишет с нуля, как и Касперский. Я про них столько знаю, потому что работаем на их редакторах на работе. И могу назвать весомое преимущество перед опенсорсом - это возможность разработки под клиента и внедрения нужных фич по запросу, и оперативная поддержка на русском. Такие дела.
 
Цитата
написал:
Зачем выделять средства? Достаточно внести в реестр российского ПО и деньги сами польются рекой. При отсутствии конкуренции мой  офис сейчас и P7  рванут, правда прощай все хорошее, надстройки всякие, PowerQuery и прочее, но ведь это не важно, пармезан и в Костроме варим.
А почему сразу так с предубеждением, что что-то полетит?  Давайте сначала  посмотрим, протестируем, а потом будем  решать что там так, а что нет
Изменено: Nikita Nikolaev - 07.12.2021 16:49:56
 
Nikita Nikolaev Это  хорошо, если действительно пишут свой офис с нуля. Просто даже если там  крутые ребята пишут, все равно необходимо довольно продолжительное время годы, чтобы все косяки подправить и плюс этим офисом должны пользоваться большое кол-во людей, чтобы эти косяки находили и сообщали разработчикам. А сразу даже суперкрутые  не напишут без косяков.
Изменено: Евгений Смирнов - 07.12.2021 18:40:17
 
Nikita Nikolaev, цитата - не бездумная копия. вернитесь, приведите в порядок свои сообщения
Страницы: 1
Наверх