寻找一个可以自动创建集合的 Excel 公式,每个集合有 x 种独特的颜色,比如说 4。
例如
第一套将是绿色、黄色、蓝色、粉色各 360 个 第二套是绿、白、黑、棕各120个(因为黄、蓝、粉都已经用完了)
颜色 | 数量 |
---|---|
绿色 | 800 |
黄色 | 360 |
蓝色 | 360 |
粉色 | 360 |
白色 | 240 |
黑色 | 240 |
棕色 | 120 |
尝试使用 LARGE(A:A,4),但它对于较大的数据集效果不佳。
这是一种选择。我冒昧地以串联方式显示每组结果,包括数量形式的相似性。
D1
中的公式:
=LET(x,LAMBDA(f,r,c,q,n,LET(y,XLOOKUP(n,MAP(q,LAMBDA(i,SUM((q>=i)*(i>0)))),q,0,1),IF(y,f(f,VSTACK(r,HSTACK(TEXTJOIN(", ",,TAKE(FILTER(c,q>=y),n)),y)),c,IF(q-y<0,q,q-y),n),r))),x(x,{"Set","Quantity"},A2:A8,B2:B8,B10))
这是一个只要在
n<=colors
处存在组合就会自行递归的公式。这; x(x,{"Set","Quantity"},A2:A8,B2:B8,B10)
,是重要的一点,您可以使用给定的参数来执行该函数。