3

Я пытаюсь сгенерировать имя пользователя, используя одно поле имени в Excel, которое имеет имя и фамилию человека. Я открыт для того, каким будет имя пользователя, если оно интуитивно понятно для пользователя. Поля имени могут быть хитрыми, так как данные выглядят так:

Albert Abongo (2 names)
Stephen Michael Essuah Ackah (4 names)
Alhaji Iddrisu Abdul-KArim (3 names)

Я думаю, что мои идеальные имена пользователей для этих людей были бы

aabongo
sackah
aabdul-karim

2 ответа2

4

Попробуйте использовать следующее (с входными данными в A1):

=LOWER(LEFT(A1,1)&TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),LEN(A1))))

  • LOWER: делает все выходные строчными
  • LEFT(A1,1): вытягивает данные, начиная слева, в течение 1 символа.
  • & связывает две части вместе
  • TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),(LEN(A1)))
    • функция SUBSTITUTE(A1," ",REPT(" ",LEN(A1))) подсчитывает длину исходной строки и размещает одинаковое количество пробелов в каждом пробеле
    • затем (RIGHT(text,LEN(A1)) тянет, начиная справа, на длину исходной строки
    • TRIM удаляет ведущие пробелы
2

Просто чтобы добавить к умному ответу @CameronAziz, если вы хотите избежать дублирования имен пользователей, вы можете добавить еще один столбец справа от этих имен пользователей (в столбце B в этом примере) и заполнить эту формулу:

=B1&IF(COUNTIF($B$1:B1,B1)>1,COUNTIF($B$1:B1,B1),"")

Это добавит число справа от имени пользователя, если оно является дубликатом любых предыдущих имен пользователей.

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