您可以使用函数ROUNDDOWN()
和ROUNDUP()
负数来获得 10 ( -1
)、100 ( -2
) 或 1000 ( -3
) 的下一个倍数。它将某个值的精度降低10
. 因此,使用以下方法舍入到 10 的前一个或下一个倍数:
=ROUNDDOWN(<yourvalue>; -1)
和
=ROUNDUP(<yourvalue>; -1)
分别(如果您正在使用的 i18y 需要,请注意将公式参数分隔符调整为逗号 (,
) )。
所以,=ROUNDDOWN(11,61; -1)
会导致10
,=ROUNDUP(11,61; -1)
也会给你20
。这样,您可以为每个值“计算”适当的组(例如 A1 中的值):
=CONCATENATE(ROUNDDOWN($A1; -1)+1;"-";ROUNDUP($A1;-1))
要将其拆分为多行:
=CONCATENATE( # Result will be a concatenated string
ROUNDDOWN($A1;-1)+1; # first value: previous multiple of 10, +1;
"-"; # second value: literal "-"
ROUNDUP($A1;-1) # third value: next multiple of 10
)
使用您的示例数据,这将导致:
编辑:
对于 0-9、9-19 等分组,以下公式应该有效:
=CONCATENATE(ABS(ROUNDDOWN($A2+1; -1)-1);"-";ROUNDUP($A2+1,01;-1)-1)
编辑2:
对于使用该IF()
功能的解决方案,您可以使用:
=IF(A2 < 9;"0-9";IF(A2 < 19; "9-19";IF(A2 < 29; "19-29";"more than 29")))
对于大于 29 的值的分组,您必须添加相应的 IF 子句,"more than 29"
通过附加检查替换字符串。每个分组范围都需要自己的 IF 子句。