一行公式快速生成 26 个字母。
有时候会需要用到 26 个英文字母,如果用键盘一个一个地敲 A, B, C, D… 的话就太花时间了,下面有两个方法快速生成 26 个字母。
方法1
=ARRAYFORMULA(REGEXEXTRACT(ADDRESS(1, ROW(A1:A26), 2), "^."))
原理分析
使用 ROW 函数获取开头 26 行,因为一共有 26 个英文字母。现在还没有使用数组,所以目前只会输出 1 个。
再使用 ADDRESS 函数,将刚才 ROW 函数计算的结果放到列参数里,因为列是按照字母排序的,引用模式选择相对应用列,为了方便接下来的筛选,绝对引用。使用 ARRAYFORMULA 数组函数输出看一下效果。
现在已经获取了 26 个引用的位置,也包含了 26 个字母,使用 REGEXEXTRACT 函数用正则表达式语法 ^.
获取开头的第一个字符,并且用数组输出,这样就获取了 26 个大写字母。
如果要生成 26 个小写字母,在 REGEXEXTRACT 函数的外面使用 LOWER 函数。
=ARRAYFORMULA(LOWER(REGEXEXTRACT(ADDRESS(1, ROW(A1:A26), 2), "^.")))
方法2
=ARRAYFORMULA(CHAR(ROW(A65:A90)))
原理分析
使用 ROW 函数获取 A65 到 A90 的行数,也就就是从 65 到 90。现在还没有使用数组,所有目前只会输出 1 个。
因为 A 对应的十进制 Unicode 编码是 65,那么使用 CHAR 函数将计算出来的行数转换成字符,最后再用数组输出。
如果要生成 26 个小写字母,可以使用下面的公式:
=ARRAYFORMULA(CHAR(ROW(A97:A122)))
因为从 97 到 122 的十进制 Unicode 编码对应的是 26 个小写字母。