感谢您花时间帮助我
我正在尝试制作一个谷歌工作表公式,将字符串转换为 10 键电话上的键盘数字,包括单个数字和多个数字 例如,输入“AHO”的公式 1 应返回“246” 输入“AHM”的公式 2 应返回“244666”
如果使用公式无法做到这一点,也许可以使用带有 App 脚本的自定义函数
非常感谢
最佳答案
我创建了一个需要字符串输入的自定义函数。然后将字符串输入转换为大写字母以保持统一并将字母与适当的电话键盘号码映射相匹配。请引用下面的自定义函数:
/**
* Translates letters into 10 key phone keypad digits
*
* @param {inputString} The input string to be converted.
* @return The numerical string output.
* @customfunction
*/
function convertToKeypad(inputString) {
var outString = "";
const letterMap = { "A": '2',
"B": '22',
"C": '222',
"D": '3',
"E": '33',
"F": '333',
"G": '4',
"H": '44',
"I": '444',
"J": '5',
"K": '55',
"L": '555',
"M": '6',
"N": '66',
"O": '666',
"P": '7',
"Q": '77',
"R": '777',
"S": '7777',
"T": '8',
"U": '88',
"V": '888',
"W": '9',
"X": '99',
"Y": '999',
"Z": '9999',
" ": '0'
};
for (let i = 0; i <inputString.length; i++) {
outString += letterMap[inputString.toUpperCase()[i]];
}
return outString;
}
关于google-apps-script - 将字符串转换为 10 键电话键盘数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71947220/