Поваренная книга Экселиста #1 - Преобразовываем ФИО

Привет всем, моему одному подписчику - отдельное трямс)
Подумалось - надо чуть поделиться некоторыми наработками, которые собрались в голове за последние лет эдак 20 работы с различными БД (к коим я с легкостью отношу Эксель). В связи с чем будет ажно целый ряд статеечек на тему, в первую очередь, оптимизации рабочего времени (ну в смысле сделал за 10 минут и дальше листаешь пикабушечку). Поехали с достаточно частой задачи:

РЕЦЕПТ 1:  Преобразовываем ФИО в Ф / И / О, без использования VBA и прочей нехристи.
Для начала чуть теории - большинство, наверняка, сталкивались с такой задачей - есть ФИО в одном столбце, а нужно вытянуть только имя, ну или два столбца ИМЯ и ФАМИЛИЯ. Да или даже поменять местами, задачи разные - суть одна. Теперь давайте разбираться что имеем - имеем строку с N-количеством слов, разделенных одинаковым символом " " (ну или чуть сложнее с массивом, содержащим N-количество элементов, в роли разделителя " "). Тут важно понять сам смысл - все, что имеет закономерность, подлежит автоматизации. В нашем случае закономерность будет вот такая - СЛОВО" "СЛОВО" "СЛОВО, следовательно мы ИЛИ должны "выбрать" нужное нам СЛОВО из всей строки, или чуть схитрить) Но начнем с выбора.

ВАРИАНТ 1: Средствами экселя. Определяем нахождение разделителей по длине строки.
1. Создаем отдельную страницу (на всякий случай)
2. Вставляем данные - Допустим вид будет вот такой
ID | ФИО
1  | Иванов Иван Иванович (b2)

3. Выбираем ПЕРВОЕ СЛОВО, ячейка (c2)
=TRIM(LEFT(B2;FIND(" ";B2;1)))
Что сделали - нашли первое вхождение символа " " в строку, и резанули все, что после него.

4. Выбираем ВТОРОЕ СЛОВО, ячейка (d2)
=TRIM(MID(B2;FIND(" ";B2;FIND(" ";B2;1))+1;FIND(" ";B2;FIND(" ";B2;1)+1)-FIND(" ";B2;FIND(" ";B2;1))))
Что сделали - указали Экселю на "координаты" первого и второго разделителей, скорректировали координаты (порезали длину строки на лишний символ " ").

5. Выбираем ТРЕТЬЕ СЛОВО, ячейка (e2)
=TRIM(MID(B2;FIND(" ";B2;FIND(" ";B2;1)+1)+1;LEN(B2)))
Что сделали - то же самое, что и со ВТОРЫМ СЛОВОМ, только так как нам не нужно резать по второй координате - за нее взяли длину строки.

На выходе получили вот так:

Поваренная книга Экселиста #1 - Преобразовываем ФИО Microsoft Excel, Материальный дизайн, Таблица, Полезное, На заметку, Microsoft office, Длиннопост

Подходит для постоянного применения и в случае, если разделитель всегда один и тот же.
Теперь для тех, кто хочет схитрить)

СПОСОБ 2: Подмена разделителя
1. Выделяем столбец с ФИО.
2. Открываем текстовый редактор (дада, Блокнот / TextEdit), вставляем туда. ОБЯЗАТЕЛЬНО переведите его в формат Plain Text/ просто текст (формат сохранения .txt) (!)
3. Находим функцию "Найти и заменить".
3.1. В поле найти введите символ " " (то есть просто поиск по одиночному пробелу).
3.2. В поле заменить вставьте символ TAB. Для этого на первой строке нажмите TAB, выделите его, cmd+c,  cmd+v (или control, у кого какая религия)

Поваренная книга Экселиста #1 - Преобразовываем ФИО Microsoft Excel, Материальный дизайн, Таблица, Полезное, На заметку, Microsoft office, Длиннопост

3.3. Примените, скопируйте, вставьте в Эксель... И собственно так, если не знали - встречайте, TAB - символ переноса на следующую ячейку))

Поваренная книга Экселиста #1 - Преобразовываем ФИО Microsoft Excel, Материальный дизайн, Таблица, Полезное, На заметку, Microsoft office, Длиннопост

Надеюсь данные способы вам потребуются) И, главное, на забывайте - работает не только на ФИО)
Понравилось? Что-то интересно? Прошу в комменты)  Ну и там лайк/ подписка / кошелек / очки / мотоцикл)

MS, Libreoffice & Google docs

719 постов15K подписчика

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Вы смотрите срез комментариев. Показать все
8
Автор поста оценил этот комментарий

Господа, по работе изспользую ексель в очень больших количествах. то что описал автор - извращение. первое правило работы в екселе: можешь упростить - упрости. и тут разрабы майкрософта немного постарались - уже давно появилась функция "текст по столбцам", которая может практически в любой ситуации, исключение когда текст вообще корявый с кучей самых разных символов. а относительно недавно появилось и мгновенное заполнение, которое на ура справится с этой задачей.

раскрыть ветку (9)
Автор поста оценил этот комментарий

Автор, вы точно поняли о чем пост? Не уверен. То, что вы много в нем работаете - еще не подразумевает что вы в нем работаете, а не заполняете, фил зе дифференс.

раскрыть ветку (8)
1
Автор поста оценил этот комментарий

в том то и дело - мне приходится в нем создавать такие инструменты, чтобы те кто "заполняют" ничего не сломали и им было максимально просто. да я точно понял о чем пост - как разделить ФИО по столбцам. ваш метод предполагает использование довольно простой формулы для того кто ее хорошо понимает(среди пользователей, далеко не все это могут), и не самой простой для остальных. и многие в комментариях обратили ваше внимание на то что того же результата можно вполне добиться встроенными инструментами ексель. я уж молчу про надстройку PLEX, которая вообще предоставляет простор действий.

раскрыть ветку (7)
Автор поста оценил этот комментарий

Если вы создаете инструменты в Экселе - в паре слов обьясните пж что конкретно делаете. Уж не всякие ли попытки скрестить Эксель с Аксессом?
И молчите дальше про PLEX, потому что совершенно верно делаете.

Иллюстрация к комментарию
раскрыть ветку (6)
Автор поста оценил этот комментарий

ну, полагаю что на постсоветском пространстве больше пользователей винды, поэтому PLEX может быть полезен. с аксессом я не работаю. а насчет екселя - я работаю на заводе, где в екселе происходит все, от планирования продукции, до мониторинга эффективности. собственно, если не считать инструменты созданные коллегами на других заводах, все создается в моем департаменте.

раскрыть ветку (5)
Автор поста оценил этот комментарий

Ну, с одной стороны, хочется посмотреть на примеры работы. С другой стороны - это полный пиздец. Теперь выражение про "все заводы стоят, одни гитаристы в стране" полностью раскрыто...
Как бизнес-логику можно вести мать его в экселе? Обрабатывать - да, но вести?!
Данные вы как в эксель вносите? Руками? Автоматизация на уровне "как при царе батюшке было, но только с арифмометром"?
Пиздец.

П.С. Предположение - мать всех ошибок. Когда вы пошлете свой файл посмотреть наверх, а он будет завязан не-кросс-платформенный функционал.. хотя автоматизация завода на экселе.... пойду святой водой глаза помою....

раскрыть ветку (4)
Автор поста оценил этот комментарий

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

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (3)
Автор поста оценил этот комментарий

Тогда выдохнул. Примеры более чем понятны, то есть по факту выгружаете из автоматизации. Тогда просто представьте себе ГДЕ можно использовать описанный метод и поймите, что ФИО было дано просто для примера)

Автор поста оценил этот комментарий

И прошу разрешения использовать ваш комментарий для написания статейки почему нельзя использовать Эксель как автоматизацию, но с указанием того, что я вас не так понял, потому у вас, конкретно, все путем)

раскрыть ветку (1)
Автор поста оценил этот комментарий

да, пожалуйста)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку