求助:谷歌表格中数字序数后缀自动转换的错误修正方法
解决年份序数后缀显示错误的问题
你的问题出在两个核心点:一是没考虑11、12、13这类特殊情况(它们不管末位是1/2/3,都要加th);二是原公式只处理了末位为1的场景,没覆盖2、3的情况,而且RIGHT(E1,1)=1里的1是数字类型,RIGHT返回的是文本类型,类型不匹配也会导致判断失效。
下面给你两种可行的解决方法:
方法一:嵌套IF公式
直接在单元格中使用这个公式,能自动适配所有年份的序数后缀:
=E1&IF(AND(MOD(E1,100)>=11,MOD(E1,100)<=13),"th",IF(MOD(E1,10)=1,"st",IF(MOD(E1,10)=2,"nd",IF(MOD(E1,10)=3,"rd","th"))))
逻辑说明:
- 优先判断年份后两位是否在11-13区间,是则直接加
th - 否则根据年份末位数字匹配后缀:1加
st,2加nd,3加rd,其余加th
方法二:自定义单元格格式(无需公式)
如果不想用公式,直接设置单元格格式更简洁,还不影响数字本身的计算属性:
- 选中需要显示年份的单元格
- 右键选择「设置单元格格式」→「数字」→「自定义」
- 在类型输入框中粘贴:
[>=11][<=13]0"th";[=1]0"st";[=2]0"nd";[=3]0"rd";0"th"
设置完成后,输入年份数字会自动显示正确的序数后缀,单元格底层仍存储原始数字,不影响后续累加等操作。
内容的提问来源于stack exchange,提问作者Jake Maurer
相关产品推荐
相关产品推荐

