Формула для определения пола в excel

Определение пола по имени

Классическая задача, с которой периодически сталкивается почти любой пользователь Microsoft Excel: нужно определить пол для каждого человека в списке. Давайте рассмотрим несколько решений для такой задачи.

Вариант 1. Полные ФИО, только «наши»

Начнем, для разогрева, с самого простого случая, когда у нас есть правильно записанные полные ФИО для всех людей в списке. Как легко сообразить, для большинства жителей бывшего СНГ тут сработает простой принцип: «если отчество оканчивается на Ч, то это мужчина, в противном случае — женщина». Реализовать эту логику можно простой формулой:

Определение пола по ФИО

Функция ПРАВСИМВ (RIGHT) извлекает из ФИО один символ справа (последнюю букву отчества), а функция ЕСЛИ (IF) проверяет извлеченный символ и выводит «ж» или «м», в зависимости  от результата проверки.

Вариант 2. Полные ФИО, есть «экспаты»

Если в списке есть имена не только русского типа (назовем их «экспаты»), то к приведенной ранее формуле можно добавить еще одну проверку, чтобы отлавливать их тоже:

Определение пола по ФИО если есть экспаты

То есть «м» будет выводиться только если отчество заканчивается на Ч, «ж» — если заканчивается на А. Во всех же остальных случаях («экспаты») наша формула выдаст три вопросительных знака.

Вариант 3. Неполные или переставленные ФИО, только «наши»

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

Справочник женских имен

Созданную таблицу я преобразовал в «умную» (выделить ее и нажать Ctrl+T), чтобы потом не думать про ее размеры и дополнять справочник новыми именами в любое время. На появившейся вкладке Конструктор (Design) умной таблице лучше дать отдельное имя (например жен), чтобы потом использовать его в формулах:

Имя для умной таблицы

Нужная нам формула для определения пола будет выглядеть так:

Формула массива для определения пола по ФИО

Давайте разберем ее по шагам на примере первого человека:

Функция ПОИСК (SEARCH) ищет вхождения по очереди каждого женского имени из умной таблицы жен в строку «Храброва Алла Сергеевна» и выдает на выходе либо ошибку #ЗНАЧ (если не нашла), либо порядковый номер символа, начиная с которого имя входит в ФИО. На выходе мы получаем массив:

{#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:10:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:
#ЗНАЧ!:
#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!}

Число 10 на седьмой позиции в этом массиве фактически означает, что седьмое женское имя Алла из умной таблицы-справочника входит в первое ФИО Храброва Алла Сергеевна начиная с 10 символа.

Затем функция ЕСЛИОШИБКА (IFERROR) заменяет ошибки #ЗНАЧ! на нули. В результате получаем:

{0:0:0:0:0:0:10:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0}

Функция СУММ (SUM) суммирует все числа в получившемся массиве и если получается число больше нуля, то функция ЕСЛИ (IF) выводит «ж», в противном случае «м».

Не забудьте после ввода формулы нажать сочетание клавиш Ctrl+Shift+Enter, т.к. ее нужно ввести как формулу массива.

Вариант 4. Неполные ФИО, есть «экспаты»

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

Универсальная формула массива

Теперь гораздо лучше :)

Ссылки по теме

  • Как склеить текст из нескольких ячеек в одну
  • Поиск ближайшего похожего текста
  • Разделение ФИО на отдельные столбцы

В списке Excel, содержащем имена, отчества и фамилии, отсортировать мужчин от женщин можно довольно просто. Достаточно определить последнюю букву в отчестве человека, чтобы узнать его пол.

Как правило, если отчество заканчивается буквой «ч», это означает, что владелец этого отчества — мужчина, например, Иванович, Петрович, Альбертович. Конечно, возможны и исключения, например, отчество Талгатулы не заканчивается буквой «ч», хотя и является мужским. Для быстрого определения половой принадлежности воспользуемся одной из двух функций.

Определить пол по отчеству

Если исходным значением для определения пола является отчество, то есть отчество записано в отдельной ячейке, можно прибегнуть к помощи функции:

По мере появления исключений из правила, можно внести изменения в программный код функции, например, чтобы отчество Талгатулы определялось как мужское, в строке 04 после буквы «ч» через запятую добавлена буква «ы».

Представленные функции возвращают «М» либо «Ж» в зависимости от последней буквы в отчестве.

Определить пол по ФИО

Если исходным значением для определения пола является полное ФИО, то предварительно ФИО нужно разделить на части, вычленить из него отчество и далее действовать по аналогии с уже рассмотренным выше примером.

Когда во всем списке Excel пол определен, отсортировать мужчин от женщин при помощи стандартной сортировки Excel не составит никакого труда. Надстройку, которая добавляет рассмотренные функции в категорию «Определенные пользователем» можно скачать бесплатно.

Как определить пол по отчеству в excel

Группировка массива по возрасту, имени или фамилии
Нужно написать функцию, которая будет группировать массив по возрасту, имени или фамилии. Функция.

Изменение введённой фамилии при выборе пола
Всем привет, встала задача организовать изменение введённой фамилии при выборе пола в моей БД: .

Как определить пол подписчика для email-рассылки

Сегментация по полу является базовой в постоянной коммуникации с подписчиками. Оправка релевантных предложений мужчинам и женщинам стимулирует продажи и сокращает затраты за счет исключения отправки писем не тем людям.

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

Первый метод: определение пола по ФИО

Ситуация идеальная, но все-таки встречается. Речь идет о базе, где есть фамилия, имя, отчество и они записаны в правильном порядке. В нашем случае информацию о ФИО нужно разместить в одной колонке. Традиционно все славянские отчества женщин заканчиваются на “а”, а мужские – на “ч”.

Для получения правильного значения пола воспользуйтесь в таблице функцией, которая извлекает заданное количество символов, а если его не указать, то она извлечет один последний символ справа – ПРАВСИМВ (в английском интерфейсе – RIGHT). И для замены “а” на “Ж” и “ч” на “М”, чтобы сразу писалось правильное значение пола, а не окончания отечеств, применим функцию ЕСЛИ (IF).

Получится следующая формула: =ЕСЛИ(ПРАВСИМВ(A2)=»ч»;»М»;»Ж»):

Определение пола по отчеству

Вставьте ее в первую ячейку столбца для пола. Нажмите Enter и протяните вниз до конца списка значение первой ячейки, чтобы напротив каждого имени появился пол:

Автоматическое заполнение ячеек

Определение пола для базы с некорректными или нетипичными именами/отсутствующим отчеством

Описанная выше функция сработает некорректно, если в списке есть редкие, иностранные имена или отчества не указаны вовсе. Так как последняя буква в данных не “ч”, соответственно, контактам будет проставлен пол “Ж”, что часто не соответствует действительности.

Определение пола для некорректно написанных или иностранных имен

Откорректируйте формулу, и укажите, что если последняя буква “ч”, то определяем контакт как мужчину, если “а” – как женщину, а если окончание ФИО не “а” и не “ч”, то выводим знаки вопроса “. ”, чтобы потом поработать с этими данными.

Функция будет выглядеть так: =ЕСЛИ(ПРАВСИМВ(A2)=«ч»;«М»;ЕСЛИ(ПРАВСИМВ(A2)=«а»;«Ж»;«. «))

Протяните формулу до конца списка.

Заполнение всех ячеек значениями с полом

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

Работа со строками с неопределенным полом

Откройте вкладку “Данные” и выберите пункт “Создать фильтр”:

Фильтр данных

При помощи фильтра выведите на странице только строки с неопределенным полом. Для этого нужно снять галочки с других значений:

Выбор значений для фильтрации

В списке будут видны:

  • имена с ошибками,
  • иностранцы,
  • контакты с неполными данными (например, только имя), для которых первый описанный метод не может правильно определить пол.

Работа с ячейками, где пол неопределен

Проставьте, где знаете, пол вручную.

Второй метод: определение пола подписчика с опорой на базу имен

Этот способ определения пола больше приближен к реальной ситуации, так как подписчики часто оставляют только имена, меняют местами имя и фамилию, пишут выдуманные имена и т. д. Воспользуйтесь формулой массива для проверки каждого ФИО на вхождение в него мужских или женских имен.

Предварительно создайте 2 столбца: один – с женскими именами, второй – с мужскими. Список можно найти в любой доступной базе в интернете. Для автоматизации последующей работы сделайте списки с именами отдельными умными таблицами (функция доступна в Microsoft Excel после выделения ячеек и нажатия сочетания клавиш Ctrl+T). Это позволит вносить новые имена в конец таблицы и использовать их в формулах, не выделяя каждый раз нужный диапазон и не фиксируя ссылки.

Определение пола при помощи базы имен

Во вкладке “Конструктор” переименуйте таблицы в “жен” и “муж” для удобства дальнейшей работы и сокращения формулы.

Переименование таблицы

Пропишите функцию: =ЕСЛИ(СУММ(ЕСЛИОШИБКА(ПОИСК(жен;E2);0))>0;»ж»;ЕСЛИ(СУММ(ЕСЛИОШИБКА(ПОИСК(муж;E2);0))>0;»м»;». «))

Формула включает в себя проверку на наличие имени в обоих списках имен. E2 – первая ячейка столбца с проверяемыми контактами.

Так как в данном случае мы работаем с массивом, то вместо Enter нажмите сочетание клавиш Ctrl+Shift+Enter. Протяните значение вниз.
Получаем наиболее точный результат:

Определение пола для массива

Отфильтруйте поля со знаками вопросов и проставьте им пол вручную.

Фильтрация по полу и исправление данных в системе eSputnik

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

Вы можете автоматизировать работу с именами и создавать группы с учетом гендерной принадлежности подписчика прямо в системе eSputnik. Она будет анализировать ошибки в полном имени и определять пол. В вашу рассылку не попадут Колян, Саня, тем самым защитив вас от казуса. Для этого в “Лаборатории” (настройки аккаунта) нажмите кнопку “Добавить пол” и “Добавить точное имя”.

Определить пол подписчиков в eSputnik

Включение опций в настройках организации

Теперь, когда в каждой карточке контакте указан пол, создайте две условные группы: отдельно с мужчинами, отдельно с женщинами. Сегментированные рассылки дадут вам больше конверсий и сэкономят затраты за счет исключения отправки сообщений нецелевой аудитории. Отправляйте мужскую коллекцию мужчинам и женскую – женщинам, помогайте мужчинам сделать приятные подарки своим дамам к празднику.

Пример письма для отправки мужчинам

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

Студворк — интернет-сервис помощи студентам

Есть два столбца с именами и фамилиями. Нужно определить пол -мужской или женский..
Вопрос, как можно изменить данную формулу для Эксель 2013, чтобы вставить различные варианты окончаний и соответственно увеличить кол-во идентификаций..

=ЕСЛИ(ПРАВСИМВ(K3;1)=»а»;»ЖЕНСКИЙ»;ЕСЛИ(ПРАВСИМВ(K 3;1)=»в»;»МУЖСКОЙ»;»ПРОВЕРИТЬ»))

Есть еще одна идея, привязать проверку имен к списку наиболее часто втречающихся мужских и женских имен, т.е сделать отдельную таблицу с именами и на нее ссылаться при проверке и присваивать пол соответствующий имени.. Как правильно записать такую функцию ?

Можете еще есть какие-нибудь варианты ?

Добавлено через 21 минуту
И еще вопрос вдогонку, как в случае, если пол не определен , сделать, чтобы надпись НЕ ОПРЕДЕЛЕН выделялась например красным цветом ?

как из списка людей определить пол каждого

Elena92

Дата: Четверг, 01.12.2011, 11:09 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Есть определенный список. В колонке А указано Фамилия и Имя через пробел.
Нужно что-бы в колонке В стояло напротив имени М или Ж соответственно.
Как это сделать с мин. затратами ? Если все невозможно, то хотя-бы большую часть.
Остальное можно руками.
В списке почти 3200 людей

К сообщению приложен файл:

…rar
(54.2 Kb)

 

Ответить

Serge_007

Дата: Четверг, 01.12.2011, 11:21 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Проверяйте, вроде правильно:

Code

=ЕСЛИ(СУММПРОИЗВ(—(ПРАВСИМВ(A2;1)={«а»;»я»}));»Ж»;»М»)

К сообщению приложен файл:

Elena92.rar
(77.9 Kb)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Elena92

Дата: Четверг, 01.12.2011, 12:10 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Спасибо огромное!
Все ОК

 

Ответить

Elena92

Дата: Четверг, 01.12.2011, 12:24 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


нет не все ок Никиты — девочки и Данилы девочки и Ильи то-же.
В ручную править ?

 

Ответить

Serge_007

Дата: Четверг, 01.12.2011, 12:53 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Смотрите вложение


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Elena92

Дата: Четверг, 01.12.2011, 16:08 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Скажите, а можно разделить и колонки фамилия и имя рядом сделать 2 колонки фамилию в одну колонку, а имя и отчество если есть в соседнюю.
Так проще проверять. Все равно все автоматом не исправить.
Заранее спасибо.

 

Ответить

0mega

Дата: Четверг, 01.12.2011, 17:21 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

34

±

Замечаний:
0% ±


Quote (Elena92)

рядом сделать 2 колонки фамилию в одну колонку, а имя и отчество если есть в соседнюю.

К сообщению приложен файл:

…xls.zip
(67.8 Kb)

 

Ответить

Serge_007

Дата: Четверг, 01.12.2011, 21:39 |
Сообщение № 8

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Elena92)

Все равно все автоматом не исправить.

Совсем автоматически наверное нет, слишком уж разнородный у Вас список, но формула

Code

=ЕСЛИ(СУММ(—(ПРАВСИМВ(A2;1)={«а»;»я»;»э»});—ЕЧИСЛО(НАЙТИ({«Никита»;»Илья»;»Миша»;»Савва»};A2)))=1;»Ж»;»М»)

даёт отличный результат. Не поленился и вручную проверил первые 250 строк. Ни одной ошибки!
Из общего списка выбивается только Аджаматов А, но подозреваю что имени А нет даже в восточных странах smile
Соответственно, если Вы напишите его имя правильно, то будет правильный результат.

Quote (Elena92)

можно разделить и колонки фамилия и имя рядом сделать 2 колонки фамилию в одну колонку, а имя и отчество если есть в соседнюю.

Данные — текст по столбцам — разделитель пробел.


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Elena92

Дата: Пятница, 02.12.2011, 18:02 |
Сообщение № 9

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Спасибо огромное с Вашей помощью с этим разобрались.
Ссылка: http://files.mail.ru/SKRUHJ
В этой же таблице возникла следующая проблема:
Под графой в 1-ой строке Турниры 2011г. и Турниры 2010г.
стоят цифры — обозначающие каждый турнир.
В строке 3191 указано обозначение каждого Турнира для 2011 и для 2010.
Во первых как эти обозначения привести в божеский вид например так:

№ Название месяц кол-во участников
8 Турнир ПШС март 5
и так далее по турнирам 2011 и 2010 года.
И можно ли потом например нажав мышью например на ячейку О2 (85 -там стоит этот номер турнира)
тебе переводило на соответствующий турнир, соответствующего года
например:
85 Турнир 3-го разряда Юность Москвы» март 90чел

 

Ответить

Serge_007

Дата: Пятница, 02.12.2011, 22:27 |
Сообщение № 10

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Elena92)

как эти обозначения привести в божеский вид

Какое отношение имеет этот вопрос к данной теме?
Эту тему закрываю.


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

В списке Excel, содержащем имена, отчества и фамилии, отсортировать мужчин от женщин можно довольно просто. Достаточно определить последнюю букву в отчестве человека, чтобы узнать его пол.

Как правило, если отчество заканчивается буквой «ч», это означает, что владелец этого отчества — мужчина, например, Иванович, Петрович, Альбертович. Конечно, возможны и исключения, например, отчество Талгатулы не заканчивается буквой «ч», хотя и является мужским. Для быстрого определения половой принадлежности воспользуемся одной из двух функций.

Определить пол по отчеству

Если исходным значением для определения пола является отчество, то есть отчество записано в отдельной ячейке, можно прибегнуть к помощи функции:

'Определение пола по отчеству
Function ПолПоОтчеству(Отчество As String) As String
    If Len(Отчество) > 0 Then
        Select Case Right(Отчество, 1)
            Case "ч", "ы"
                ПолПоОтчеству = "М"
            Case Else
                ПолПоОтчеству = "Ж"
        End Select
    End If
End Function

По мере появления исключений из правила, можно внести изменения в программный код функции, например, чтобы отчество Талгатулы определялось как мужское, в строке 04 после буквы «ч» через запятую добавлена буква «ы».

Представленные функции возвращают «М» либо «Ж» в зависимости от последней буквы в отчестве.

Определить пол по ФИО

Если исходным значением для определения пола является полное ФИО, то предварительно ФИО нужно разделить на части, вычленить из него отчество и далее действовать по аналогии с уже рассмотренным выше примером.

'Определение пола по ФИО
Function ПолПоФИО(ФИО As String) As String
    Dim Фамилия As String
    Dim Имя As String
    Dim Отчество As String
    Dim Temp As String
 'ФИО делится на части
    Фамилия = Trim(Left(ФИО, InStr(ФИО, " ")))
    Temp = Right(ФИО, Len(ФИО) - InStr(ФИО, " "))
    Имя = Trim(Left(Temp, InStr(Temp, " ")))
    Отчество = Right(Temp, Len(Temp) - InStr(Temp, " "))
        If Len(Отчество) > 0 Then
            Select Case Right(Отчество, 1)
                Case "ч", "ы"
                    ПолПоФИО = "М"
                Case Else
                    ПолПоФИО = "Ж"
            End Select
        End If
End Function

Когда во всем списке Excel пол определен, отсортировать мужчин от женщин при помощи стандартной сортировки Excel не составит никакого труда. Надстройку, которая добавляет рассмотренные функции в категорию «Определенные пользователем» можно скачать бесплатно.

Другие материалы по теме:

Понравилась статья? Поделить с друзьями:
  • Формула для определения количества символов в ячейке excel
  • Формула для определения дня недели по дате excel
  • Формула для начисления суммы в excel
  • Формула для начисления процентов в excel
  • Формула для нахождения электроэнергии excel