Страницы: 1
RSS
Подсчёт количества определённых символов "-" в формуле ячейки
 
Подсчёт количества определённых символов "-" в формуле ячейки:
Сама формула выглядит следующим образом:
Код
=(ВРЕМЯ(2;53;0)-ВРЕМЯ(1;44;0))*24+(ВРЕМЯ(22;10;0)-ВРЕМЯ(18;38;0))*24

какую формулу необходимо прописать, для того чтобы посчитать количество знаков минус "-" в ячейке.

Excel office 2007/

Благодарю.
Изменено: Артём Герасимов - 23.11.2021 12:51:38
 
Вариант через пользовательскую функцию.
Код
=КОЛИЧЕСТВО_МИНУСОВ(A1)

Function КОЛИЧЕСТВО_МИНУСОВ(Ячейка As Range) As Long
    Dim s As String
    s = Ячейка.Formula
    КОЛИЧЕСТВО_МИНУСОВ = Len(s) - Len(Replace(s, "-", ""))
End Function
 
Нашел вот такое решение
Код
=ДЛСТР(Ф.ТЕКСТ(A1)) - ДЛСТР(ПОДСТАВИТЬ(Ф.ТЕКСТ(A1);"-";""))
Изменено: Andrey_S - 23.11.2021 12:44:56
 
Не работает, выдаёт в ячейке #ИМЯ?
 
Цитата
:  2007
Ф.ТЕКСТ появился в 2013-м.
 
Убрать функцию ф.текст из формулы ;)
Код
=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(A1;"-";))

Но вопрос был - считать в формуле, а не в значении
 
Цитата
написал:
1=ДЛСТР(Ф.ТЕКСТ(A1)) - ДЛСТР(ПОДСТАВИТЬ(Ф.ТЕКСТ(A1);"-";""))
В excel 2013 работает!!!
 
Вы сообщение #5 прочитали?
 
может уже и ни к месту:

Код
Function ПОДСЧЕТ_СИМВОЛОВ(what, Optional ByVal pattern = "\-")
Dim res
'  Optional ByVal pattern = "\-" - значение по умолчанию (может быть заменено на \любой знак "\(\)" - ищет открывающую и закрывающую скобку
    With CreateObject("VBScript.Regexp")
        .Global = True
        .MultiLine = True
        .pattern = pattern
        Set res = .Execute(what.Formula)
        ПОДСЧЕТ_СИМВОЛОВ = res.Count
    End With
End Function
Изменено: artemkau88 - 23.11.2021 19:41:07
Страницы: 1
Наверх