Как определить символ é в значении и заменить его на e?

Я использую Excel для хранения данных для MailMerge. Каждый столбец представляет собой часть данных, которые либо используются в MailMerge, либо загружаются в CRM.

В случае французских имен часто встречаются такие символы, как é в фамилии, например: Bélanger. Было бы правильно обратиться к кому-либо по "мисс Беланджер", но «jenny.bélanger@url.com» не допускается.

Ради этого вопроса предположим, что столбцы A, B, C - First, Last, Email соответственно.

A и B вводятся вручную. Столбец C содержит электронное письмо, созданное с использованием concatenate и соблюдающее соглашение об именах электронной почты компании.Например, если соглашение об именах электронной почты имеет вид «first.last@url.com», формула имеет вид = concatenate(lower(a1), "." Lower (b1), "@ url.com")

Можно ли правильно ввести французское имя в качестве значения в столбце имени, но автоматически заменить é на e для значения электронной почты?

2 ответа2

0

Откройте редактор макросов VBA и вставьте этот код в модуль:

Public Function DeFrenchify(s As String) As String

    s = VBA.Replace(s, "é", "e")
    s = VBA.Replace(s, "ç", "c")
    s = VBA.Replace(s, "è", "e")
    '...add more replacements here for all characters...

    DeFrenchify= s
End Function

Затем на вашем листе, если ваши оригинальные имена находятся в ячейке A1, например, просто используйте

=DeFrenchify(A1)

в формулах, чтобы получить то, что вы хотите.

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

0

Лучше всего, вероятно, заключить вывод в ряд функций SUBSTITUTE , например

=SUBSTITUTE(
    SUBSTITUTE(
        CONCATENATE( LOWER(A1), ".", LOWER(B1), "@url.com" ),
    "á", "a"),
"é", "e")

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

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