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


-7

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

IE A1

DanDan
DonalDonald
JackJack
ChrisChris

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

Спасибо


1
Пожалуйста, измените вопрос, чтобы ограничить его конкретной проблемой с достаточным количеством деталей, чтобы найти адекватный ответ.
Ramhound

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

Ответы:


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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.