根据单元格的值将条目拆分成多行

编程语言 2026-07-10

我在记录一个农场的肥料和农药数据。这个农场大约分成40个区域。

在每条记录中,应该包含从1到40号区域的用量。

大多数情况下,多个区域会同时使用同一种材料、同一剂量进行处理。

我在想可以把区域分成若干组,这样一条记录就可以包含给予多个区域的材料。

我需要让每条记录根据该分组内的区域数量拆分成多行。这样在输入数据时我会更容易,同时也能同时查看各区域的处理情况。

例如,我创建了组A,包含4个区域。我会向这个组输入4千克的xxxx。

在另一张表中,我需要4行,分别显示区域1、2、3和4,每个区域各取1千克xxxx。

我在想,是否有办法在表格提交后或直接输入时自动化这个过程?

示例表.

解决方案

如果你设置成这样的查找表:

enter image description here

你就可以这样做:

=REDUCE(TOCOL(,1), TOCOL(H2:H, 1), LAMBDA(i, h, IFERROR(VSTACK(i, 
 LET(r, FILTER(A:F, C:C=h), QUERY(REDUCE(r, 
 SEQUENCE(COLUMNS(IFERROR(SPLIT(VLOOKUP(h, H:I, 2), ","), 1))), 
 LAMBDA(x, y, IFERROR(VSTACK(x, HSTACK(CHOOSECOLS(r, 1,2), 
 INDEX(TOCOL(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ",")), y), INDEX(r,,4), 
 INDEX(r,,5)/COLUMNS(IFERROR(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ","), 1)),
 INDEX(r,,6)))))), "offset 1", ))))))

enter image description here

或者这样来包含非分组:

=VSTACK(FILTER(A2:F, C2:C<>"", NOT(REGEXMATCH(C2:C, "Group"))), 
 REDUCE(TOCOL(,1), TOCOL(H2:H, 1), LAMBDA(i, h, IFERROR(VSTACK(i, 
 LET(r, FILTER(A:F, C:C=h), QUERY(REDUCE(r, 
 SEQUENCE(COLUMNS(IFERROR(SPLIT(VLOOKUP(h, H:I, 2), ","), 1))), 
 LAMBDA(x, y, IFERROR(VSTACK(x, HSTACK(CHOOSECOLS(r, 1,2), 
 INDEX(TOCOL(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ",")), y), INDEX(r,,4), 
 INDEX(r,,5)/COLUMNS(IFERROR(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ","), 1)),
 INDEX(r,,6)))))), "offset 1", )))))))

enter image description here

并且从那里,如有需要,可以进行简单求和:

=QUERY(VSTACK(FILTER(A2:F, C2:C<>"", NOT(REGEXMATCH(C2:C, "Group"))), 
 REDUCE(TOCOL(,1), TOCOL(H2:H, 1), LAMBDA(i, h, IFERROR(VSTACK(i, 
 LET(r, FILTER(A:F, C:C=h), QUERY(REDUCE(r, 
 SEQUENCE(COLUMNS(IFERROR(SPLIT(VLOOKUP(h, H:I, 2), ","), 1))), 
 LAMBDA(x, y, IFERROR(VSTACK(x, HSTACK(CHOOSECOLS(r, 1,2), 
 INDEX(TOCOL(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ",")), y), INDEX(r,,4), 
 INDEX(r,,5)/COLUMNS(IFERROR(SPLIT(VLOOKUP(INDEX(r,,3), H:I, 2), ","), 1)),
 INDEX(r,,6)))))), "offset 1", ))))))), 
 "select Col1,Col2,Col3,Col4,sum(Col5),Col6 
  group by Col1,Col2,Col3,Col4,Col6 label sum(Col5)''")

enter image description here

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章