PAYATHON 2026

Microsoft Access 如何将数值分类转换为 A–E?

数据小陈

结论

如果 Round([chance]/20) 的结果已经在 1 到 5 之间,可以用 Access 的 Chr() 将数字转换为对应的大写字母:

Chr(64 + Round([chance]/20))

Chr() 根据字符编码返回字符。大写字母 A 到 E 的编码依次为 65 到 69,所以分类值 1 加 64 得到 A,分类值 5 加 64 得到 E。这个表达式可以直接用作查询的计算字段,无需另建字符变量。

如果要把 1 到 100 分成五个等宽区间

原表达式 Round([chance]/20) 不会严格按每 20 个数分为一组。Round() 会按舍入规则处理边界,低于 10 的值还可能得到 0。如果 [chance] 是 1 到 100 的整数,且要让 1 到 20 对应 A、21 到 40 对应 B,依此类推,可以使用:

Chr(65 + Int(([chance]-1)/20))

这里先用 Int() 计算区间编号,再加 65 得到对应字母。按这个表达式,1 到 20 返回 A,21 到 40 返回 B,41 到 60 返回 C,61 到 80 返回 D,81 到 100 返回 E。

使用前检查

  • 如果现有表达式只返回 1 到 5,使用 Chr(64 + Round([chance]/20))。
  • 如果要按 1 到 20、21 到 40 等固定范围分组,且 [chance] 是 1 到 100 的整数,使用 Chr(65 + Int(([chance]-1)/20))。
  • 确认输入范围符合所选表达式的前提,否则结果可能超出预期范围。

备注:内容仅供参考。