gpt4 book ai didi

vba - 根据总计对数据进行分组

转载 作者:行者123 更新时间:2023-12-02 18:25:14 31 4
gpt4 key购买 nike

假设我有下表可供使用:

project name    total units
a 3
b 4
c 1
d 5
e 2
f 5
g 8
h 12
i 8
j 10
k 4
l 7
m 9
n 19
o 15
p 6
q 3

例如,我希望将项目名称分组,总单元数不超过 20。
因此,如果我将项目 a 到 f 加起来,总共会是 20 个。因此,这组项目将被分组并由 Excel 赋予唯一标识符。

我想轻松确定特定项目属于哪个文件号。因此,一旦我输入项目名称和总单位数,它就会返回一个数字给我,说明该项目应该进入哪个文件编号。

project name    total units   file number
a 3 1
b 4 1
c 1 1
d 5 1
e 2 1
f 5 1
g 8 2
h 12 2
i 8 3
j 10 3
k 4 4
l 7 4
m 9 4
n 19 5
o 15 6
p 6 7
q 3 7

我希望得到的最终结果是对总单位进行求和,并对总和等于或小于 20 的项目名称进行分组并给出文件编号。

Excel 可以做这样的事情吗?

最佳答案

不要使用 VBA,而使用 Excel 的内置函数可以轻松完成这些操作。 SUMIF() 函数在这里会有很大帮助

将以下公式放入单元格 C2 中(假设有上述设置)

=IF(A2="a",ROUNDDOWN((B2-1)/20,0)+1,IF(SUMIF($C1:C$2,C1,$B1:B$2)+B2>20,C1+1,C1))

该公式执行以下操作:

  • 如果名称为“a”,则根据“a”中的单位检查需要多少个文件
  • 对于所有其他名称:将当前文件中的先前单位(即上面单元格中的文件编号)相加,并添加当前项目单位。如果数量超过20,文件编号加1,否则使用相同的文件编号

我已经对此进行了测试,但如果您有任何问题,请告诉我。

关于vba - 根据总计对数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26082836/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com