Хорошо, это вызов для супер пользователей [закрыт]

-7

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

IE A1

DanDan
DonalDonald
JackJack
ChrisChris

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

Спасибо

Дан Р Шемерхорн
источник
1
Пожалуйста, измените вопрос, чтобы ограничить его конкретной проблемой с достаточным количеством деталей, чтобы найти адекватный ответ.
Ramhound
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что вопросы должны демонстрировать разумное количество исследований и понимания решаемой проблемы. Пожалуйста, отредактируйте: а) четко опишите вашу проблему и исследования, проведенные до сих пор для ее решения, или б) включите попытки решения плюс почему они не сработали. В любом случае, убедитесь, что ваши ожидаемые результаты четко представлены.
Тецудзин

Ответы:

2

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

=MID(A1,1,LEN(A1)/2)
jalbarl
источник
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).

techturtle
источник
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-го до конца, и находит, где буква точно равна заглавной версии этой буквы.

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

введите описание изображения здесь

Скотт Крейнер
источник