Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 След.
Подставлять знак + кроме слов меньше 3 символов
 
для файл-примера из #1 ещё вариант UDF в G2
Код
Function aaa$(t$)
   With CreateObject("VBScript.RegExp"): .Global = True: .IgnoreCase = True
    .Pattern = "(?:\s|^)[а-яё\w]{3,}(?=\s|$)"
 aaa = .Replace(t, "+$&")
  End With
End Function
Изменено: кузя1972 - 16 Ноя 2018 22:22:34
Подставлять знак + кроме слов меньше 3 символов
 
вариант UDF в D2
 
Код
Function yyy$(t$)
   With CreateObject("VBScript.RegExp"): .Global = True: .IgnoreCase = True
    .Pattern = "(?:[^а-яё\w]|^)[а-яё\w]{3,}(?=[^а-яё\w]|$)"
 yyy = .Replace(t, "+$&")
  End With
End Function
Изменено: кузя1972 - 15 Ноя 2018 16:09:01
Сколько учеников получили не менее двух пятерок?
 
вариант UDF в H4
 
Код
Function aaa&(r As Range)
Dim z, i&, j&, k&: z = r.Value
 For i = 1 To UBound(z): k = 0
  For j = 1 To UBound(z, 2)
   If z(i, j) = 5 Then k = k + 1
  Next
   If k >= 2 Then aaa = aaa + 1
 Next
End Function
Изменено: кузя1972 - 15 Ноя 2018 08:35:14
Вычленить 11-значные номера телефонов
 
вариант UDF в столбцах B C D
Код
Function bbb$(t$, i&)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d{11}": .Global = True
        If .test(t) And .Execute(t).Count >= i Then bbb = .Execute(t)(i - 1)
 End With
End Function
Изменено: кузя1972 - 10 Ноя 2018 18:14:48
Удаление из текста фразы, указанной в другом столбце
 
ещё вариант формулы в столбце C
Код
 = СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ($A2;ПРОПИСН(B2);ПОВТОР(" ";99));99))
Изменено: кузя1972 - 9 Ноя 2018 20:17:24
Удаление из текста фразы, указанной в другом столбце
 
вариант UDF в столбце C и UDF uuu
Код
Function uuu$(t$, s$)
 uuu = Split(t, UCase(s))(1)
End Function
 
Код
Function vvv$(t$, s$)
  With CreateObject("VBScript.RegExp"): .Pattern = s & "(.+)$": .IgnoreCase = True
        If .test(t) Then vvv = .Execute(t)(0).Submatches(0)
  End With
End Function
Изменено: кузя1972 - 9 Ноя 2018 11:55:58
Удалить часть текста справа до первого символа \
 
вариант UDF в D1
Код
 Function sPath$(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "[^\\]+": .Global = True
       sPath = .Execute(t)(.Execute(t).Count - 1): sPath = Replace(t, "\" & sPath, "")
  End With
End Function
Изменено: кузя1972 - 6 Ноя 2018 22:14:21
Как из текста достать последние значения ячейки - цифры?
 
в ответ на #5
как вариант без использования клавиатуры
Сервис-Макрос-Запись макроса
Сервис -Макрос-Остановить запись
После макроса (например Макрос1) скопируйте функцию,например ещё два варианта UDF
Код
Function bbb&(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "Маржа: \d+(?=\.)"
       bbb = Mid(.Execute(t)(0), 
  End With
End Function
Код
Function ccc&(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "Маржа: (\d+)(?=\.)"
       ccc = .Execute(t)(0).Submatches(0)
  End With
End Function
Изменено: кузя1972 - 6 Ноя 2018 13:09:06
Необходимо отделить имена от мэйлов
 
ещё вариант UDF
 
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\w+@\w+\.\w+"
  bbb = .Execute(t)(0)
 End With
End Function
Изменено: кузя1972 - 5 Ноя 2018 01:31:37
Формула для создания списка уникальных значений, Формула для списка уникальных (не повторяющихся значений в отдельном столбце)
 
вариант с проверкой ошибки в столбце D
Код
=ЕСЛИОШИБКА(ИНДЕКС($A:$A;АГРЕГАТ(15;6;СТРОКА($A$2:$A$15)/(ПОИСКПОЗ($A$2:$A$15;$A:$A;0)=СТРОКА($A$2:$A$15));СТРОКА($A1)));"")
Изменено: кузя1972 - 4 Ноя 2018 06:47:35
текст между знаком "\" и первым пробелом после этого знака
 
ещё два варианта UDF
Код
Function ccc&(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "Маржа: (\d+)(?=\.)"
       ccc = .Execute(t)(0).Submatches(0)
  End With
End Function
 
Код
Function bbb&(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "Маржа: \d+(?=\.)"
       bbb = Mid(.Execute(t)(0),8) 
  End With
End Function
Изменено: кузя1972 - 3 Ноя 2018 14:45:49
Как из текста достать последние значения ячейки - цифры?
 
вариант формулы в столбце E и функция vvv
Код
Function vvv&(t$)
  vvv = Split(Split(t, "Маржа:")(1), ".")(0)
End Function
 
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ($B3;"Маржа:";ПОВТОР(" ";99));99));".";ПОВТОР(" ";50));50))
Изменено: кузя1972 - 3 Ноя 2018 07:01:33
Как из текста достать последние значения ячейки - цифры?
 
вариант UDF
Код
Function aaa&(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
       aaa = .Execute(t)(.Execute(t).Count - 2)
  End With
End Function
Изменено: кузя1972 - 3 Ноя 2018 06:22:26
текст между знаком "\" и первым пробелом после этого знака
 
ещё вариант формулы в E1 и функции vvv
Код
Function vvv$(t$)
  vvv = Split(Split(t, "\")(1))(0)
End Function
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ($A1;"\";ПОВТОР(" ";99));99));" ";ПОВТОР(" ";50));50))
Изменено: кузя1972 - 2 Ноя 2018 22:03:16
текст между знаком "\" и первым пробелом после этого знака
 
ещё варианты UDF в C1 или UDF aaa
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\\(.+?)\s"
  aaa = .Execute(t)(0).Submatches(0)
 End With
End Function
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\\(\S+)?"
  bbb = Mid(.Execute(t)(0), 2)
 End With
End Function 
Изменено: кузя1972 - 2 Ноя 2018 20:54:05
Помогите вытащить домены из столбика с URL
 
ещё вариант формулы в столбце I
Код
="http//"&СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ($A1;"//";ПОВТОР(" ";100));100));"/";ПОВТОР(" ";100));100)) &"/"
Изменено: кузя1972 - 28 Окт 2018 09:01:31
Помогите вытащить домены из столбика с URL
 
нет файл-примера,вариант UDF в столбце B или UDF aaa
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "[^/]+": .Global = True
  aaa = .Execute(t)(0) & "/" & "/" & .Execute(t)(1) & "/"
 End With
End Function
 
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "http://.+?(?=/)"
  bbb = .Execute(t)(0) & "/"
 End With
End Function
Изменено: кузя1972 - 28 Окт 2018 08:58:03
Поставить пробел между текстом и цифрами
 
ещё вариант UDF
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "(\D)(\d)"
  bbb = .Replace(t, "$1 $2"): .Pattern = "(\d)(\D)": bbb = .Replace(bbb, "$1 $2")
 End With
End Function
Изменено: кузя1972 - 25 Окт 2018 20:40:30
Удалить левую часть текста после первого числа
 
вариант UDF,можно переделать в макрос с заменой в самом столбце A
 
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\D+\d+"
  aaa = .Execute(t)(0)
 End With
End Function
Изменено: кузя1972 - 17 Окт 2018 19:02:27
Удаление всех символов до перовой буквы, Как удалить разное количество символов и разный тип символов до первой буквы
 
вариант двух UDF: bbb или aaa  для файл-примера из #1
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .IgnoreCase = True: .Pattern = "^.+?(?=[а-яё])"
  aaa = Trim(.Replace(t, ""))
 End With
End Function
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .IgnoreCase = True: .Global = True: .Pattern = "[^ а-яё]"
  bbb = Trim(.Replace(t, ""))
 End With
End Function
Изменено: кузя1972 - 15 Окт 2018 15:59:11
Поиск первой цифры в ячейке, Поиск позиции первой цифры в ячейке
 
eeigor, в добавление к #18,тогда лучше использовать более эффективный вариант

 
Код
RegExpExtract(СЖПРОБЕЛЫ(B3);"(?:^[^\d]+)|\d.*$")
Изменено: кузя1972 - 12 Окт 2018 16:07:13
Поиск первой цифры в ячейке, Поиск позиции первой цифры в ячейке
 
в дополнение к #15,вариант трёх UDF в столбцах E FG ,например ccc в столбце G
Код
Function ccc$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\D+"
  If .test(t) Then ccc = Trim(.Replace(t, ""))
 End With
End Function
Изменено: кузя1972 - 12 Окт 2018 15:18:43
Удалить из текста все, что перед последней косой чертой
 
ещё вариант UDF в B1
Код
Function ccc$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "[^\\]+": .Global = True
  ccc = .Execute(t)(.Execute(t).Count - 1)
 End With
End Function
Изменено: кузя1972 - 6 Окт 2018 19:03:48
Удалить из текста все, что перед последней косой чертой
 
нет файл-примера,как вариант aaa для #4 в E1 для текста из #5  или bbb
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "^.+(?=\\)"
  bbb = Mid(.Replace(t, ""), 2)
 End With
End Function
 
Код
Function aaa$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "^.+\\(.+)$"
  aaa = .Replace(t, "$+")
 End With
End Function
Изменено: кузя1972 - 5 Окт 2018 22:53:42
Извлечение цифровых значений из текста
 
еще вариант UDF в G4
Код
 Function aaa$(t$)
         Dim i&
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[\s\.№](\d{4})(?=\D)"
    For i = 0 To .Execute(t).Count - 1: aaa = aaa + "," + .Execute(t)(i).Submatches(0): Next
       aaa = Mid(aaa, 2)
  End With
End Function
Изменено: кузя1972 - 21 Сен 2018 16:02:00
Как из текста ячейки получить все, находящееся после определенного слова, например "ProsKit"
 
вариант трёх UDF
Код
Function aaa$(t$)
 aaa = Split(Split(t, "ProsKit ")(1), " ")(0)
End Function
Код
 Function uuu$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "ProsKit \S+"
uuu = Trim(Mid(.Execute(t)(0), 9))
 End With
End Function
Код
Function vvv$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "ProsKit (\S+)"
  vvv = Trim(.Execute(t)(0).Submatches(0))
 End With
End Function
Изменено: кузя1972 - 17 Сен 2018 19:30:54
Суммировать ячейки, в которых встречается определённый текст.
 
еще вариант функции с результатом в диапазоне B4:B5
Код
Function zzz&(r As Range, t$)
     Dim i&,  z: z = r.Value
With CreateObject("VBScript.RegExp"): .Pattern = t & "(\d+)"
 For i = 1 To UBound(z, 2)
 If .test(z(1, i)) Then zzz = zzz + .Execute(z(1, i))(0).Submatches(0)
Next
End With
End Function  
Изменено: кузя1972 - 15 Сен 2018 15:50:56
Создание текста по столбцам, Создание текста по столбцам
 
еще вариант в столбцах B-G
Чистка ячейки от лишних символов и слов
 
еще вариант vvv в C1 и bbb E1 если надо удалять и слова,(файл-пример все равно нужен от создателя темы).Возможен объединенный вариант ccc
Код
Function ccc$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[!\""\+]+"
 If .test(t) Then ccc = Trim(.Replace(t, ""))
.IgnoreCase = True:   .Pattern = "-[а-яё]+"
 If .test(ccc) Then ccc = Trim(.Replace(ccc, ""))
 End With
End Function
Код
Function vvv$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[!\""\+]+"
 If .test(t) Then vvv = Trim(.Replace(t, ""))
 End With
End Function
Код
Function bbb$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True:: .IgnoreCase = True:  .Pattern = "-[а-яё]+"
 If .test(t) Then bbb = Trim(.Replace(t, ""))
 End With
End Function
Изменено: кузя1972 - 15 Сен 2018 12:11:04
Чистка ячейки от лишних символов и слов
 
вариант UDF в C1
Код
 Function vvv$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[-!\""\+]+"
 If .test(t) Then vvv = Trim(.Replace(t, ""))
 End With
End Function
Изменено: кузя1972 - 15 Сен 2018 09:51:45
Страницы: 1 2 3 4 5 6 След.
Наверх