提问人:A Lin 提问时间:7/5/2021 更新时间:7/5/2021 访问量:710
如何在Google表格中自动生成单词和数字序列?
how to auto generate a sequence of words and numbers in google sheet?
问:
我需要将“采购订单”列表分类为“页码和物料编号”。 例如,Page1,Item1~7。我已经找到了从下面的链接中做 1 个简单数字序列的方法。但是我无法弄清楚做“页码”的方法,为了更高级,在每页之间添加一个空行。是否可以只使用公式?
答:
假设 PO = A 列,页面项目 = b 列,PO = c 列。
在 B2 中:
=IF(MOD(ROW()-1,8)=0,"","P"&INT((ROW()-1)/8+1)&"_#"&MOD(ROW()-1,8))
想法:使用行来驱动计数。mod(x,8) 和 small loop count & int(x/8+1) 作为大循环计数。
在 C2 中:
=IF(MOD(ROW()-1,8)=0,"",OFFSET(A2,-1*COUNTBLANK($B$2:B2),0))
想法:“到目前为止,B 列中有多少个空单元格”=“'加载'A 列数据所需的移位量”。
请分享它是否可理解/有效/不可理解。
评论
我不知道如何每第 7 行添加空行,但我弄清楚了如何制作序列并构建一个没有空行的表:
={ARRAYFORMULA("P"&ArrayFormula(CEILING(sequence(counta(B2:B))/7))&"_#"&array_constrain(transpose(split(rept("1|2|3|4|5|6|7|",counta(B2:B)),"|")),counta(B2:B),1)),
array_constrain(B2:B,counta(B2:B),1)}
我的解决方案可在此处获得: https://docs.google.com/spreadsheets/d/1owokwWW5OvN5VwZAWB5HvDxtBT82BqLJUMBnio9Gi2M/copy
评论
正如我在对原始帖子的评论中提到的,如果有一个包含起始数据的电子表格的链接,并指示您想要结果的位置(同一张纸?不同的纸?),那会更有效。但为了继续,我假设您的原始标题“采购订单”位于 A1 中,并且您的原始采购订单数据运行 A2:A。
基于这些假设,以下公式将生成两个列标题和所需结果图像中显示的所有结果:
=ArrayFormula({"page_item",A1; IFERROR(VLOOKUP(FLATTEN("P"&SEQUENCE(ROUNDUP(COUNTA(A2:A)/7))&"_#"&SEQUENCE(1,7+1)), {ARRAY_CONSTRAIN(FLATTEN("P"&SEQUENCE(ROUNDUP(COUNTA(A2:A)/7))&"_#"&SEQUENCE(1,7)),COUNTA(A2:A),1),FILTER(A2:A,A2:A<>"")},{1,2},FALSE), {"",""})})
它可以放在与写入的同一张纸上的任何位置,但将其放在一些其他空列(例如,C1)的顶部单元格中可能是最有意义的。
如果您想要每页的其他部分数量,只需将公式中的四个实例更改为另一个数字即可。7
显然,如果您的实际数据不在 A 列中,则需要调整公式范围以匹配您的实际范围。
至于它是如何工作的,这有点难以解释;这是一个自定义功能,我不知道它会被其他网站访问者广泛寻求或使用。因此,让我们首先确保它是您想要的;然后,如果你想要一个解释,请报告,我会进入它。
评论