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

谷歌表格如何批量生成符合字数限制的游戏求职搜索查询

谷歌表格批量生成游戏行业求职谷歌搜索查询方案

需求背景

我正在用谷歌表格简化游戏行业求职搜索流程,现有785个游戏相关域名列表,需要将域名分组后结合关键词生成符合谷歌搜索规则的查询字符串:

  • 谷歌搜索查询限制为32词,域名(如badrobot.com)算1词,操作符不计入词数限制
  • 需完成步骤:
    1. 统计表格中关键词总数量
    2. 用32减去关键词数量得到单次查询可容纳的域名数n
    3. 从域名列表中选取n个域名分组
    4. 合并域名与关键词生成标准查询字符串
    5. 重复操作直至所有域名生成对应查询

当前问题

已写出能根据词数动态选择n行域名的公式,但无法迭代处理整个域名列表。谷歌表格无for/while循环函数,不确定是否能用arrayformula实现,且对该函数用法不熟悉。

样本数据

唯一域名(765个)职位名称(21词)附加搜索词(1词)上限
8circuitstudios.comproduction coordinatorjunior10
acemaddox.comproducer
adhocla.comassociate producer
alderongames.comproject manager
alkimiainteractive.comsupport technician
antstream.comtechnical support
apocalypse333.comoperations specialist
apply.workable.comoperations coordinator
artificialrome.comproject manager
aweinteractive.comproject specialist
awem.comoperations associate
[...]

预期查询输出

(site:8circuitstudios.com OR site:acemaddox.com OR site:adhocla.com OR site:alderongames.com OR site:alkimiainteractive.com OR site:antstream.com OR site:apocalypse333.com OR site:apply.workable.com OR site:artificialrome.com) (production coordinator OR production manager OR producer OR associate producer OR support technician OR technical support OR operations specialist OR operations coordinator OR project manager OR project specialist OR operations associate) (junior)

当前使用公式

=concatenate("(site:" & textjoin(" OR site:", 1, INDIRECT("$A"&2&":A"&D2)) & ")" & " (" & textjoin(" OR ", 1, $B$2:$C) & ")" & " (" & textjoin(" OR ", 1, $C$2:$C) & ")")

实现建议

方案1:先分组再生成查询(适合新手)

  1. 给域名分组:在原表格新增E列,E2输入公式并下拉填充至所有域名行,生成每组的序号:

    =CEILING(ROW(A2)-ROW(A$2)+1, $D$2)
    

    公式中$D$2是单次可容纳的域名数n(比如样本中的10),每n个域名会被分到同一个组。

  2. 批量生成查询:新建工作表(如Sheet2):

    • A列输入分组号(1、2、3…直到59)
    • B2输入公式,提取对应组的域名:
      =TEXTJOIN(" OR site:", 1, FILTER(Sheet1!$A$2:$A, Sheet1!$E$2:$E=A2))
      
    • C2输入完整查询公式,下拉填充至所有分组:
      ="(site:"&B2&") ("&TEXTJOIN(" OR ", 1, UNIQUE(FILTER(Sheet1!$B$2:$B, Sheet1!$B$2:$B<>"")))&") ("&TEXTJOIN(" OR ", 1, UNIQUE(FILTER(Sheet1!$C$2:$C, Sheet1!$C$2:$C<>"")))&")"
      

方案2:用LET函数一次性生成所有查询(高效进阶)

在新建工作表的A2单元格输入以下公式,无需下拉即可自动生成所有59条查询:

=LET(
  n, $D$2,
  total_domains, COUNTA(Sheet1!$A$2:$A),
  groups, CEILING(total_domains/n, 1),
  domain_groups, BYROW(SEQUENCE(groups), LAMBDA(g, TEXTJOIN(" OR site:", 1, OFFSET(Sheet1!$A$2, (g-1)*n, 0, MIN(n, total_domains-(g-1)*n))))),
  job_keywords, TEXTJOIN(" OR ", 1, UNIQUE(FILTER(Sheet1!$B$2:$B, Sheet1!$B$2:$B<>""))),
  extra_terms, TEXTJOIN(" OR ", 1, UNIQUE(FILTER(Sheet1!$C$2:$C, Sheet1!$C$2:$C<>""))),
  BYROW(domain_groups, LAMBDA(d, "(site:"&d&") ("&job_keywords&") ("&extra_terms&")"))
)

公式说明:

  • LET定义了n(单次域名数)、total_domains(总域名数)、groups(总组数)等变量
  • BYROW+OFFSET实现域名分组
  • 最后将分组后的域名与去重后的关键词拼接成标准查询

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 19:55:06