Добавить числа из строковых значений, Excel - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть таблица с конкретными строковыми значениями.SP-1, SP-2, SP-3, .. SP-8, а также V-4 и V-8.Я хочу добавить числа, присутствующие в строке.Строка будет одинаковой (либо SP-, либо V-).Числа, следующие за строкой, будут другими.Сумма должна быть отдельной для каждого типа строки.

Я видел много решений, но не смог их адаптировать.

Таблица может содержать пустые ячейки.Следовательно, я не могу использовать функцию Value.

Я хочу проверить всю таблицу на наличие всех SP-строк и V-строк и получить сумму для каждого типа.Я хочу добиться этого, используя формулу, а не макросы.Может ли кто-нибудь из вас помочь мне с формулой

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Попробуйте следующую определяемую пользователем функцию:

Public Function SpecialAdder(rng As Range, p As String) As Variant
    Dim L As Long, r As Range
    If p = "" Then
        SpecialAdder = Application.WorksheetFunction.Sum(rng)
        Exit Function
    End If

    SpecialAdder = 0
    L = Len(p)
    For Each r In rng
        If Left(r.Value, L) = p Then
            SpecialAdder = SpecialAdder + Mid(r.Value, L + 1)
        End If
    Next r
End Function

Она будет использоваться на листе следующим образом:

=specialadder(A1:A100,"SP-")

enter image description here

0 голосов
/ 20 ноября 2018

Используйте эту формулу массива:

=SUM(IFERROR(--SUBSTITUTE($A$1:$A$6,C1&"-",""),0))

Будучи формулой массива, ее необходимо подтвердить с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...