Я предполагаю, что первая формула будет работать, если мне удастся выполнить цикл проверки пробела между именами, пока все компоненты имени не будут пройдены. Но не могу понять, как это сделать!
Вы попали в немного плохую ситуацию здесь ... [Первое правило имен - нет правил для имен.] (Http://www.kalzumeus.com/2010/06/17/falsehoods-programmers -believe-about-names /) Тем не менее, вам лучше всего зайти в VBA и использовать промежуточные переменные, а не эти безумные длинные формулы.
Bob 7 лет назад
1
Мои знания VBA настолько же хороши, насколько мои знания в ядерной астрофизике или на суахили. !!! :-( Высоко ценю любую помощь.
CRoshanLG 7 лет назад
0
Важно ли запускать это в Excel и / или иметь возможность запускать его несколько раз? Я имею в виду, конечно, это возможно - и у кого-то еще может быть ответ для вас - но это также не моя чашка чая;) если альтернативные решения приемлемы, тогда я могу попытаться помочь - просто зайдите в [chat] (http: / /chat.stackexchange.com/rooms/118/root-access) и пингуйте меня. В любом случае, первое, что вы можете сделать, это получить список всех возможных приветствий и молиться, чтобы они никогда не появлялись в настоящих именах.
Bob 7 лет назад
1
Я открыт для альтернатив, пока они выполняют свою работу. Уже есть список приветствий и уверен, что они не встречаются в именах.
CRoshanLG 7 лет назад
0
Вы сказали: «Мохамад Хуссейн Мохамад Нияс» должен быть изменен на «МХМ Нияс». Я думаю, что правильной формой будет «МХ Мохамад Нияс». Это похоже на сложную фамилию для меня.
7 лет назад
0
Ну, в этом конкретном случае, вы можете быть правы. Но я просто хотел передать, что есть имена из четырех частей, в общем смысле. :-) Спасибо за ответ.
CRoshanLG 7 лет назад
0
Вот пример: https://ideone.com/hKmxrp - нажмите «Редактировать вверху слева», добавьте свои приветствия в код (помните, что это предполагает только одно приветствие для любого имени, без «Dr Dr Smith») и вставьте свой список имен в поле ввода ниже. Я уверен, что можно перевести в формулу VBA или Excel - например, в формуле вы можете использовать vlookup для проверки приветствий по списку в другом столбце. В любом случае, это немного для комментариев, так что лучше, если вы запрыгнете в чат - и это не совсем правильный ответ на заданный вопрос.
Bob 7 лет назад
0
@FleetCommand Это подпадает под «нет правил для имен», может быть лучше сформулировать как «нет универсальных правил для имен». При работе с такими грязными данными, как этот, что-то * будет * искажено: \ - честно, вам, вероятно, лучше либо использовать его как есть, либо попросить пользователей вводить данные в формате исходно-последний.
Bob 7 лет назад
0
1 ответ на вопрос
1
Moen
Предполагая, что у вас есть все эти имена в последнем столбце. Самый простой способ, которым я мог думать, - как ниже.
Разделяйте слова - используя функцию text to column в Excel
Организовать фамилии
Используйте указанную вами формулу, чтобы взять инициалы балансовых слов
СОГЛАСОВАТЬ, используя дополнительную строку для периодов после имени.
Надеюсь, поможет.
Я уже думал об этом. Но хотелось бы, чтобы был более простой и «более чистый» способ, потому что имена действительно перепутаны при разделении, потому что они имеют разное количество компонентов; таким образом, очень сложно написать функцию CONCATENATE. Спасибо, в любом случае.
CRoshanLG 7 лет назад
0