将“分页符”添加到 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), "×", )))

对于两者之间的或多或少的行更改4s

【讨论】:

哇。工作精美。谢谢!

以上是关于将“分页符”添加到 Google 表格或动态 x 行数的公式的主要内容,如果未能解决你的问题,请参考以下文章

带有分页符和动态内容的 XSL-FO 动态表格宽度

避免表格行内的分页符

如何将 pandoc markdown 的分页符添加到 RTF 输出?

WORD中怎样设置分页符

请教如何在word文档中批量插入分页符

打印时防止表格中的分页符