我在谷歌表格中有一个数据集,我想在列的特定组中分割数据,大小为X(根据我的要求而变化)?

问题描述 投票:0回答:1

我在谷歌表格中有一个数据集,我想在列的特定组中分割数据,大小为X(根据我的要求而变化)?我需要 Excel 或 GOOGLE 工作表的公式!

我尝试过使用 SET 和 OFFSET 功能,但不起作用

excel function google-sheets excel-formula split
1个回答
0
投票

这里/截图参考。 警告/注释:没有验证; Office 365 兼容性要求 假设数值被分组在连续的“桶”中。


球到墙上:

=LET(x0_,Table13[Value],
x1_,SORT(UNIQUE(x0_)),x1_B,x1_,e0_,COUNTIFS(x0_,"<"&x1_B),e1_,ROUNDDOWN(e0_/$E$1,0),e2_,UNIQUE(e1_),x2_,INDEX(x1_,MATCH(e2_,e1_,0)), x2_a,INDEX(x2_,SEQUENCE(ROWS(x2_)-1,,2)),x2_B,INDEX(x2_,SEQUENCE(ROWS(x2_)-1)),
e3_,COUNTIFS(x0_,">="&x2_B,x0_,"<"&x2_a),e4_,ROUNDDOWN(e3_/$E$1,0),x3_,FILTER(x2_B,--(e4_>0)),
x3_A,INDEX(x3_,SEQUENCE(ROWS(x3_)-1,,2)), x3_B,INDEX(x3_,SEQUENCE(ROWS(x3_)-1)),x2_L,INDEX(x3_A,ROWS(x3_A)),
e5_1,COUNTIFS(x0_,">="&x3_B,x0_,"<"&x3_A),e6_1,COUNTIFS(x0_,">="&x2_L), h1_,VSTACK(x3_B,">="&x2_L),h2_,VSTACK(e5_1,e6_1),HSTACK(h1_,h2_))


故障例如

虽然函数可能看起来令人生畏,但有几个部分是重复的或相似的,但略有不同,以适应低/高点(最终值)的繁琐计算。

显着特征:肉和骨头驻留在

rounddown(value, bucket_size)
中,这会将有序的唯一值
e0_
的累积计数
x1_
设置为
e1_
,只有在原始(cum. ) 计数至少增加桶大小。

考虑以下示例:

  1. 唯一有序值 = 1,2,3,4,... (
    x1_
    ),对应于 cum。计数为 488,499、501、505 (
    e0_)
    .
  2. 对计数 (e1) 应用舍入(/500,0),得到:0, 0, 1, 1;
  3. 忽略重复值,即 e2_、unique(e1_)
  4. 获取从中得出的相应值(
    index(x1_,match(e2_e1_,0)
    )
  5. 我们最终得到间隔开的值,每个值之间的基础/原始值的数量至少为 500(桶);对于最终值也是如此(基础值的计数 A 列大于 500)

检查:

  • 桶尺寸1000

桶大小:1000 - 应该会产生更少的组,其中任何一个组的数量都不应少于 1k:

  • 桶 = 10 - 更多组,每个组至少包含 10 个:

Ta


© www.soinside.com 2019 - 2024. All rights reserved.