【问题标题】:How to change specific values to be a range instead如何将特定值更改为范围
【发布时间】:2019-05-13 01:07:17
【问题描述】:
例如,我在 Google 表格中有一个值列表:
10
14
36
43
64
110
92
103
我想把它改成一个范围
0-20, 21-40, 41-80, 81-120
让它输出
2
1
2
3
(0-20范围内的两个值,21-40范围内的一个值,41-80范围内的两个值,81-120范围内的三个值。)
【问题讨论】:
标签:
google-sheets
array-formulas
google-sheets-formula
google-sheets-query
gs-vlookup
【解决方案1】:
您可以使用频率函数一步完成FREQUENCY(data, classes):
=frequency(A2:A10,{20,40,80,120})
请注意,频率会为每个类别创建一个计数,加上超过最高类别值的值的额外计数。如果你愿意,你可以抑制它,但它对于异常值可能是有用的检查。
【解决方案2】:
=QUERY(ARRAYFORMULA({A1:A, IF(LEN(A1:A),
IFERROR(VLOOKUP(A1:A, {{0, "0-20" };
{21, "21-40" };
{41, "41-80" };
{81, "81-120" }}, 2), ),)}),
"select Col2, count(Col2)
where Col2 !=''
group by Col2
label count(Col2)''")
替代方案:https://webapps.stackexchange.com/a/123741/186471