在不使用VBA的情况下,你最好的选择是使用" "。CHOOSE()
"函数。对于任何数字>0,可以试试这样的方法。
=IF(AND(MOD(ABS(A1),100)>10,MOD(ABS(A1),100)<14),"th",CHOOSE(MOD(ABS(A1),10)+1,"th","st","nd","rd","th","th","th","th","th","th"))
你可以单独设置一个命名的 "key",就像你现在显示的表格一样,然后引用这个key,用所需的输出替换任何数字。
然后,你可以引用表的indexmatchvlookup这个数字,找到输出。
例如
=vlookup($A1,key,2,FALSE)
你可以使用嵌套的 IF
职能和 RIGHT
这样=IF(OR(RIGHT(H2,2)="11",RIGHT(H2,2)="12",RIGHT(H2,2)="13"),CONCAT(H2,"th"),IF(RIGHT(H2,1)="1",CONCAT(H2,"st"),IF(RIGHT(H2,1)="2",CONCAT(H2,"nd"),IF(RIGHT(H2,1)="3",CONCAT(H2,"rd"),CONCAT(H2,"th")))))
性能上可能不是最快的