Есть ли функция для поиска "заканчивается" - PullRequest
0 голосов
/ 16 апреля 2019

Есть ли функция для поиска по записям в столбце, который заканчивается на ".5" с помощью vba?

У меня есть прямая трансляция, которую я беру со страницы html, в значениях в столбце B указаны числа с плавающей запятой, и я хочу знать, могу ли я использовать функцию VBA, чтобы узнать, сколько значений заканчивается на 0,5

Ответы [ 2 ]

3 голосов
/ 16 апреля 2019

Хорошо без VBA :

=SUMPRODUCT(--(RIGHT(B1:B23,2)=".5"))

enter image description here

и с vba, то:

Sub dural()
    MsgBox Evaluate("SUMPRODUCT(--(RIGHT(B1:B23,2)="".5""))")
End Sub

EDIT # 1:

Формула листа обрабатывает столбец B как Strings. и подсчитывает, сколько в столбце B заканчивается .5 . Это выражается в виде массива 0/1 выражением внутри - ().

SUMPRODUCT() просто складывает этот массив.

2 голосов
/ 16 апреля 2019

И с VBA в качестве пользовательской функции (UDF):

Public Function CountThePointFive(ByRef theArea As Range) As Long
    Dim count As Long
    Dim cell As Variant
    For Each cell In theArea
        Dim value As String
        value = CStr(cell.value)
        Dim integerPart As Long
        integerPart = CLng(Left$(CStr(value), Len(value) - InStr(1, value, ".")))
        If (cell.value - integerPart) = 0.5 Then
            count = count + 1
        End If
    Next cell
    CountThePointFive = count
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...