我正在尝试从.ods文件中组合一些价格范围,但不知道该怎么做。
例如。我有一个不同价格的专栏:
11,61
6,15
13,68
7,69
6,00
我想要的是告诉calc将所有内容从0,00~10,99和输出文本0-10分组,每次从11,00~20,00和输出文本11-20
所以最终的输出是
col1 col2
11,61 11-20
6,15 0-10
13,68 11-20
7,69 0-10
6,00 0-10
任何人都可以帮忙吗?
答案 0 :(得分:0)
您可以使用带有负数的ROUNDDOWN()
和ROUNDUP()
函数来获得10的下一个倍数(-1
),100(-2
)或1000({ {1}})。它以-3
的平方降低某个值的准确度。因此,使用以下方法舍入到上一个或下一个10的倍数:
10
和
=ROUNDDOWN(<yourvalue>; -1)
分别(注意使公式参数分隔符适应逗号(=ROUNDUP(<yourvalue>; -1)
),如果这是您使用所需的。)
因此,,
会产生=ROUNDDOWN(11,61; -1)
,而10
会产生=ROUNDUP(11,61; -1)
。通过这种方式,您可以&#34;计算&#34;每个值的适当组(A1中值的示例):
20
将其拆分为多行:
=CONCATENATE(ROUNDDOWN($A1; -1)+1;"-";ROUNDUP($A1;-1))
使用您的示例数据,结果如下:
编辑:
对于分组0-9,9-19等,以下公式应该有效:
=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 )
EDIT2:
对于使用IF()
功能的解决方案,您可以使用:
=CONCATENATE(ABS(ROUNDDOWN($A2+1; -1)-1);"-";ROUNDUP($A2+1,01;-1)-1)
对于大于29的值的分组,您必须根据IF子句添加,以通过其他检查替换字符串=IF(A2 < 9;"0-9";IF(A2 < 19; "9-19";IF(A2 < 29; "19-29";"more than 29")))
。每个分组范围都需要自己的IF子句。