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

如何将Google Form响应转换为指定用户的结构化行数据?

解决Google Form响应转结构化游戏状态表格的问题

完整动态函数方案

假设你的FormResponses表结构为:

  • A列:Timestamp
  • B列:Username
  • C列及以后:各游戏的复选框列(列标题为游戏名,单元格值为选中的选项,如Beat Game, Would Recommend、Beat Game或空值)

在目标表格的A1单元格输入要查询的用户名,然后在任意空白单元格(比如A2)输入以下函数,即可自动生成结构化表格:

=LET(
  target_user, $A$1,
  game_headers, FormResponses!C1:1,
  user_game_data, FILTER(FormResponses!C:ZZ, FormResponses!B:B = target_user),
  game_list, TRANSPOSE(game_headers),
  beat_status, BYROW(game_list, LAMBDA(game, IF(ISNUMBER(SEARCH("Beat Game", INDEX(user_game_data, 1, MATCH(game, game_headers, 0)))), "X", "_"))),
  recommend_status, BYROW(game_list, LAMBDA(game, IF(ISNUMBER(SEARCH("Would Recommend", INDEX(user_game_data, 1, MATCH(game, game_headers, 0)))), "X", "_"))),
  VSTACK({"Game", "Beat Game", "Would Recommend"}, HSTACK(game_list, beat_status, recommend_status))
)

函数说明

  1. target_user:绑定A1单元格的目标用户名,无需硬编码
  2. game_headers:自动获取所有游戏的列标题,新增/删除游戏列会自动同步
  3. user_game_data:筛选出目标用户对应的所有游戏响应数据
  4. game_list:将游戏标题转置为行,作为结构化表格的第一列
  5. beat_status/recommend_status:遍历每个游戏,检查用户是否选中对应选项,用X表示选中,_表示未选中
  6. VSTACK+HSTACK:组合表头和数据,生成完整的结构化表格

替代分步方案(适合不熟悉LET函数的场景)

如果你的Google Sheets版本不支持LET,可以分步骤实现:

  1. 生成游戏列表(A2单元格):
    =TRANSPOSE(FormResponses!C1:1)
    
  2. Beat Game列(B2单元格,下拉填充):
    =IF(ISNUMBER(SEARCH("Beat Game", INDEX(FormResponses!C:ZZ, MATCH($A$1, FormResponses!B:B, 0), MATCH(A2, FormResponses!C1:1, 0)))), "X", "_")
    
  3. Would Recommend列(C2单元格,下拉填充):
    =IF(ISNUMBER(SEARCH("Would Recommend", INDEX(FormResponses!C:ZZ, MATCH($A$1, FormResponses!B:B, 0), MATCH(A2, FormResponses!C1:1, 0)))), "X", "_")
    

对原思路的补充

你之前用TRANSPOSE+SPLIT+REGEXEXTRACT的方向是可行的,但用FILTER+INDEX+MATCH结合BYROW的方式更简洁易维护,避免了复杂的字符串拼接与正则拆分,同时完全满足「无需硬编码、避免自定义脚本」的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:15:09