将“分页符”添加到 Google 表格或动态 x 行数的公式
Posted
技术标签:
【中文标题】将“分页符”添加到 Google 表格或动态 x 行数的公式【英文标题】:formula(s) to add "page breaks" to Google Sheets or x number of rows dynamically 【发布时间】:2021-12-23 13:22:36 【问题描述】:我有一个样品 GS here。
我的 GS 有多个订单,每个订单都有不同种类的商品。一个订单可能有 1 件商品,或者一个订单可能有 200 件商品(行)。
我想想办法在每个订单的页面上打印出来,我想知道是否有办法通过公式来做到这一点。
一个例子可能是,我有 3 个订单,每个订单有 5-10 件商品,因此每个订单都可以整齐地放在一个页面上。我想点击打印一次,打印出 3 页,每个订单打印一页。
一个更高级的例子可能是,我有 5 个订单。 3 个订单的项目很少,因此每个订单都整齐地放在一个页面上。但其他订单可能有足够的项目成为多页订单。同样,我想点击打印一次,至少打印 5 页。
有没有办法做这样的事情?我开始尝试进行查询以计算每个订单的行数,并可能使用 Sequence 函数做一些事情,但它很快就超出了我的理解范围。
【问题讨论】:
【参考方案1】:尝试:
=INDEX(input!A1:D1; TRIM(SUBSTITUTE(QUERY(""&SPLIT(FLATTEN(
FLATTEN(QUERY(TRANSPOSE(IF(input!A2:A="",,"×"&input!A2:D&"9E+99")),,9^9)),
TEXT(IF(input!A2:A="",,IFNA(VLOOKUP(input!A2:A&" "&
COUNTIFS(input!A2:A, input!A2:A, ROW(input!A2:A), "<="&ROW(input!A2:A)), input!A2:A&" "&
COUNTIFS(input!A2:A, input!A2:A), IF(input!A2:A="",,
REPT("9E+99 ", COLUMNS(input!A1:D1))), 2, 0))), SPLIT(REPT("@×",
4 + N("<< number of rows between")),
"×")), FLATTEN(QUERY(TRANSPOSE(IF(input!A2:A="",,IFNA(VLOOKUP(input!A2:A&" "&
COUNTIFS(input!A2:A, input!A2:A, ROW(input!A2:A), "<="&ROW(input!A2:A)), input!A2:A&" "&
COUNTIFS(input!A2:A, input!A2:A), IF(input!A2:A="",,input!A1:D1&"9E+99"),
SEQUENCE(1, COLUMNS(input!A:D))+1, 0)))),,9^9))), "9E+99", 0),
"where Col3 is not null limit "&(COUNTUNIQUE(input!A2:A))*(
4 + N("<< number of rows between"))+COUNTA(input!A2:A), 0), "×", )))
对于两者之间的或多或少的行更改4
s
【讨论】:
哇。工作精美。谢谢!以上是关于将“分页符”添加到 Google 表格或动态 x 行数的公式的主要内容,如果未能解决你的问题,请参考以下文章