Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как найти методами Excel (формулы, VBA) самое длинное слово в тексте?

Такие задачи применяются филологами. Например, когда находится самое длинное слово в тексте одного языка и сопоставляется с самым длинным словом в переводе этого текста на другой язык.
ФормулыЭксель
  · 61,1 K
увлекаюсь компьютерами и природой. люблю точность и анализировать данные, может поэтому...  · 15 нояб 2021  · office-study.ru
Вот пример моего макроса
Sub Long_Word()
For Each s In Selection
oldtext = oldtext & s.Value & " '"
Next
oldtext = Left(oldtext, Len(oldtext) - 1)
MyString = Split(oldtext, " ")
LnWord = ""
For i = 0 To UBound(MyString)
If Len(MyString(i)) > Len(LnWord) Then
LnWord = MyString(i)
End If
Next
MsgBox (LnWord)
End Sub
а вот UDF
Function Long_Word(TestRange) As String
For Each s In TestRange
oldtext = oldtext & s.Value & " '"
Next
oldtext = Left(oldtext, Len(oldtext) - 1)
MyString = Split(oldtext, " ")
Long_Word = ""
For i = 0 To UBound(MyString)
If Len(MyString(i)) > Len(Long_Word) Then
Long_Word = MyString(i)
End If
Next
End Function
оба варианта основаны на обработке массива через split
Успеха Вам. С уважением, СергейПерейти на office-study.ru
программист надомник  · 21 окт 2021
Упростим задачу. Есть некий объём данных, где последовательности разделены символами пробел (CHR25) в разных кодировках по разному алгоритм прост как два копейки, просто прямой перебор всего в записью символа в строку до того момента, пока не встретится разделитель сохраняем, что получилось если больше в запасную строку, рабочую обнуляем - и до упора. индексы и... Читать далее
1 эксперт согласен
Все так и есть. Если подробнее, то 1. Создаём переменную для хранения самого длинного слова.извлекаемые в виде... Читать дальше
Лучший
Вот код макроса (макрофункция) Function maxlen(s As String) Dim a, l& s = Application.Trim(s) For Each a In Split(s) If l < Len(a) Then l = Len(a) maxlen = a End If Next End Function Вот инструкция https://prnt.sc/1x2rekx Читать далее
Геодезист, опыт работы более 15 лет. Как хобби изучаю эксель и нейронные сети  · 22 окт 2021
Вот мой вариант макроса. Весь текст вставляете в ячейку C6 и вызываете макрос. Ответ запишется в ячейку A1. Ссылка на файл здесь (яндекс диск) Sub TEXT() Dim varText As String Dim arr() As String Sheets("Лист1").Range("C6").SpecialCells(xlCellTypeConstants, xlTextValues). _ Replace What:=".", Replacement:=" ", LookAt:=xlPart Sheets("Лист1").Range("C6").SpecialCells(... Читать далее
Спасибо огромное! переделал на свой лад и все получилось :) Мне требовалось из огромного документа выбрать слова... Читать дальше