You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用公式将Google Sheet单列姓名均分至6列?余值归入末列

解决方案

可以用Google Sheets的动态数组公式实现自动均分,前几列容纳多1个姓名,最后一列放剩余部分,具体公式和说明如下:

动态数组公式(推荐)

在B1单元格输入以下公式,按回车后会自动填充6列,完成姓名分配:

=LET(
    names,FILTER(A:A,A:A<>""),
    total,ROWS(names),
    cols,6,
    base,INT(total/cols),
    rem,total-base*cols,
    BYCOL(SEQUENCE(1,cols),LAMBDA(c,
        LET(
            start,IF(c<=rem,(c-1)*(base+1)+1,(rem*(base+1))+(c-rem-1)*base+1),
            end,IF(c<=rem,c*(base+1),(rem*(base+1))+(c-rem)*base),
            INDEX(names,SEQUENCE(end-start+1,,start))
        )
    ))
)

公式说明

  • FILTER(A:A,A:A<>""):提取A列所有非空姓名,排除空行干扰
  • total=ROWS(names):计算总姓名数量(此处为80)
  • base=INT(total/cols):计算每列基础分配数(80÷6取整后为13)
  • rem=total-base*cols:计算剩余未分配的姓名数(80-13×6=2)
  • BYCOL 遍历6列,对每一列计算对应姓名范围:
    • 前rem列(此处为前2列):每列分配base+1个姓名(14个)
    • 剩余列(后4列):每列分配base个姓名(13个)
  • 最终通过INDEX提取对应范围的姓名,自动生成6列结果

手动列公式(适合固定数量场景)

如果不需要动态适配总数,也可以给每列单独输入公式:

  • B列(第1列):=INDEX(A:A,SEQUENCE(14))
  • C列(第2列):=INDEX(A:A,SEQUENCE(14,,15))
  • D列(第3列):=INDEX(A:A,SEQUENCE(13,,29))
  • E列(第4列):=INDEX(A:A,SEQUENCE(13,,42))
  • F列(第5列):=INDEX(A:A,SEQUENCE(13,,55))
  • G列(第6列):=INDEX(A:A,SEQUENCE(13,,68))

内容的提问来源于stack exchange,提问作者user14915635

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:12:39