1

Я использую Office 2011 на Mac.

Я пытаюсь написать формулу для удаления строчных символов (и в идеале также пробелов, но это не так важно) из текста в ячейке. Цель состоит в том, чтобы преобразовать имена в инициалы; таким образом, "Джейн" станет "J", "DeLacy" станет "DL", «Мэри-Энн» станет "MA", а "Анна Элиз" станет "AE".

Пока у меня есть это (при условии, что имя в B2), для удаления символов нижнего регистра:

=SUBSTITUTE(B2,CHAR(ROW(97:122)),"")

Тем не менее, это только удаляет "а" (так что "Джейн" становится "Jne"). Кажется, проблема в том, что функция CHAR возвращает только первый символ, а не указанный диапазон:

=CHAR(ROW(97:122))

возвращает "а".

Так же

=CHAR(ROW(INDIRECT("97:122")))

Как заставить его вернуть весь диапазон, чтобы удалить все символы нижнего регистра?

1 ответ1

0

Рассмотрите возможность использования небольшой U сер D efined F помазание (UDF):

Public Function LowerKiller(sIn As String) As String
    Dim L As Long, LL As Long
    Dim sCh As String, temp As String
    For L = 1 To Len(sIn)
        sCh = Mid(sIn, L, 1)
        If sCh Like "[a-z]" Or sCh = " " Then
        Else
            temp = temp & sCh
        End If
    Next L
    LowerKiller = temp
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .