google-apps-script - 将字符串转换为 10 键电话键盘数字

标签 google-apps-script google-sheets google-sheets-formula

感谢您花时间帮助我

我正在尝试制作一个谷歌工作表公式,将字符串转换为 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/

相关文章:

google-apps-script - 在 Google Drive Script 中将文件添加到文件夹

google-sheets - 计算列中出现的次数?

google-sheets - 谷歌表格: Sum if value is round number

javascript - 优化Google应用程序脚本以实现自动增量列

google-apps-script - Google 表格脚本切换语句

google-apps-script - 自动更新命名范围

google-apps-script - 谷歌应用程序中withsuccesshandler的理解和应用

javascript - Google 表格中的列数? VBA 为例

regex - 如何将 '+' 字符转换为 Google 表格中 REGEXMATCH 的正则表达式?

google-apps-script - 编辑单元格时触发 API 调用