Создать эту пользовательскую функцию
function multipass(text, ChangeFrom, ChangeTo) {
ChangeFrom = ChangeFrom.map (String);
var re = new RegExp(ChangeFrom.join('|'), 'g');
return text.replace(re, function (match) {return
ChangeTo[ChangeFrom.indexOf(match)];});
}
Из WebApps Несколько замен в одном тексте ; любезно предоставлено Норманом Анструтером.
Мой окончательный ответ:
=lower(multipass(B1,D2:D9,E2:E9))
- это комбинация multipass
(для многократного преобразования) и lower
(для уменьшения оставшихся заглавных букв до строчных).

REVISION - найти и заменить значения в функции
function fandr(text) {
// add key:value pairs to the "find_replace" variable
var find_replace = {
'Ä': 'ae',
'Ü': 'ue',
'Ö': 'oe',
'ä': 'ae',
'ü': 'ue',
'ö': 'oe',
'ß': 'ss',
' ': '-'
};
// loop through the keys and replace with the value
Object.keys(find_replace).map(function(find) {
var replace = find_replace[find];
// Logger.log("DEBUG: find key: "+find+", replace value: "+replace);//DEBUG
// note the "g" - this is to replace all the matches for the given key/value pair
text = text.replace(find, replace, "g");
//Logger.log("DEBUG: modified text = "+text);//DEBUG
});
//Logger.log("DEBUG: Final modified text = "+text.toLowerCase());//DEBUG
return text.toLowerCase();
}