-7

Итак, я сделал импорт данных, и один столбец, имя которого появилось как дубликаты, и у меня нет разделителя, по которому можно было бы наплевать. Вопрос как разделить текст на вторую заглавную букву?

IE A1

DanDan
DonalDonald
JackJack
ChrisChris

хочу, чтобы А1 был просто Даном

Спасибо

3 ответа3

2

Вместо разделения на вторую заглавную букву, разделите на половину текста:

=MID(A1,1,LEN(A1)/2)
1

Вы не сможете сделать это напрямую с помощью обычной функции Excel; это потребует использования VBA.

На этой странице есть несколько примеров того, как вы можете это сделать. Самый короткий из двух примеров кода выглядит так:

Sub CamelCase()
    Dim rCell As Range
    Dim lCount As Long

    With CreateObject("vbscript.regexp")
        .Pattern = "([a-z])([A-Z])"
        .Global = True
        For Each rCell In Selection
            lCount = .Execute(rCell).Count
            If lCount Then rCell.Resize(, lCount + 1) = Split(.Replace(rCell, "$1" & Chr(1) & "$2"), Chr(1))
        Next rCell
    End With
End Sub

Это займет любую ячейку, содержащую слова со смешанным регистром (AppleBabyCat), и разделит их на каждую новую заглавную букву на свои собственные ячейки (Apple Baby Cat).

0

Эта формула будет работать:

=LEFT(A1,AGGREGATE(15,6,ROW(INDIRECT("2:" & LEN(A1)))/(EXACT(MID(A1,ROW(INDIRECT("2:" & LEN(A1))),1),UPPER(MID(A1,ROW(INDIRECT("2:" & LEN(A1))),1)))),1)-1)

Это предполагает, что первая заглавная буква является первым символом, а вторая - после него.

Он перебирает буквы, начиная со 2-го до конца, и находит, где буква точно равна заглавной версии этой буквы.

Затем он возвращает первое местоположение этой буквы в левую функцию.

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