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

Google Sheets技巧:用ARRAYFORMULA按国家数动态重复导入行

按居住国家数量重复导入学生姓名的ARRAYFORMULA解决方案

核心公式

=ARRAYFORMULA(
  SPLIT(
    FLATTEN(
      REPT(
        QUERY({IMPORTRANGE(Reference!A8, Reference!$A$2&Reference!B6)}, "select Col6 where Col10='"&'Advanced Settings'!B5&"'")&"♦",
        QUERY({IMPORTRANGE(Reference!A8, Reference!$A$2&Reference!B6)}, "select Col12 where Col10='"&'Advanced Settings'!B5&"'")
      )
    ),
    "♦", TRUE, TRUE
  )
)

关键调整说明

  1. 替换列号:将公式中的Col12替换为主数据中存储「学生居住国家数量」的实际列号(比如若数量在第8列就改成Col8)。
  2. 分隔符选择:♦是自定义分隔符,只要你的学生姓名里不会出现这个字符就可以用;如果有冲突,换成~、|这类冷门符号即可。

公式逻辑拆解

  • 筛选数据:通过QUERY+IMPORTRANGE两次获取符合Class Level筛选条件('Advanced Settings'!B5)的学生姓名列表和对应的国家数量列表。
  • 重复生成:REPT函数将每个姓名重复对应次数,并用分隔符拼接成字符串(比如居住2个国家的Alexandra会生成Alexandra♦Alexandra♦)。
  • 扁平化拆分:FLATTEN把所有拼接后的字符串合并成单列,再用SPLIT按分隔符拆分,自动生成重复的姓名行,同时忽略拆分后产生的空值。

注意事项

  • 首次使用IMPORTRANGE时,需要点击公式旁的授权提示,允许当前表格访问主数据文件。
  • 如果主数据中国家数量列是文本格式,要在QUERY外层套VALUE函数转成数字,比如:VALUE(QUERY(..., "select Col12 where Col10='"&'Advanced Settings'!B5&"'"))。
  • 公式会自动适配主数据的行数变化,无需手动调整范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:45:49