将逗号分隔 google 形式的答案转换为电子表格中的多行
Transform comma separated google form answers to multiple lines in spreadsheet
我制作了一个 google 表格,在自动填充的 google spreadsheet 中,一些答案被格式化为逗号分隔的字符串。我想从这个 sheet 读到另一个 sheet 并重新格式化答案,以便每个逗号分隔的答案显示在一个新行上。我尝试应用从原始 sheet 读取的 ARRAYFORMULA
,然后使用使用 SPLIT
和 TRANSPOSE
单元格内容的解决方案,但结合 ARRAYFORMULA
这会失败,因为它会覆盖其他单元格中的内容。
这里是一个示例 spreadsheet,包含响应、解决方案 sheet 和期望的结果 sheet。 https://docs.google.com/spreadsheets/d/1r_l5fVJ9lGfpubO2o3pXicV7JlZWmANjwSgNi7_DL0A
对如何实现最终结果有什么建议吗?
好吧,我想这不是你真正想要的,但从视觉上看还不错......
试试这个公式:
={{'Form responses'!A2:A3},ArrayFormula(regexreplace('Form responses'!B2:E3,", ",CHAR(10)))}
然后格式化单元格,使单元格内容为 TOP-aligned,而不是默认的 BOTTOM-aligned。
实际上,我想您希望将每个问题的答案分成多个单元格。但是,如果您的数据响应确实包含以逗号分隔的字母值,如您所指出的,您仍然可以搜索这些单元格以查找答案是否包含特定值。这完全取决于您为什么希望按照您的方式构建结果。
如果您能阐明您想对表单结果做什么,而不是仅仅针对每个问题垂直显示,也许我们可以针对该要求提供完整的解决方案?
更新1:
好的,我可能快到了。我可以将您的数据转换为如下所示:
这样您就可以进行所需的分析,方法是在第一列中搜索 Q.1(问题 1 的回答),然后在第三列中搜索所有答案,在第二列中搜索所有者。由此,也绝对有可能将结果以您想要的确切形式放置。它可能需要一个中间步骤。
更新2:
好的,我想我有一些你可以用的东西。我可以将您的数据转换为以下两种布局之一。
右边的最接近你的要求,除了右边的答案是底部对齐的,上面有空白。但是您仍然可以使用查询处理它们以进行分析。老实说,我认为在每一行都有用户标识符(电子邮件地址)会使事情变得更简单,但我可以提供任何一种方式。
左边的布局比较传统的数据库布局,分析起来会很简单。每行都有日期和电子邮件标识符、问题编号以及来自该用户的该问题的答案(或其中一个答案)。
如果这有帮助,最好启用您的示例 sheet 以允许我们对其进行编辑,以便我能够在您的 sheet 中实施它。但是这里是my sample sheet,万一有人想翻看呢。请注意,在 Solution!B3 中重新格式化数据的主要公式可以从大量清理中获益,并且可能远非实现此目的的最佳方法。只是抛出一个可能的解决方案...
我会尝试在某个时候为公式添加一些解释,但如果您有任何问题,请询问。
我制作了一个 google 表格,在自动填充的 google spreadsheet 中,一些答案被格式化为逗号分隔的字符串。我想从这个 sheet 读到另一个 sheet 并重新格式化答案,以便每个逗号分隔的答案显示在一个新行上。我尝试应用从原始 sheet 读取的 ARRAYFORMULA
,然后使用使用 SPLIT
和 TRANSPOSE
单元格内容的解决方案,但结合 ARRAYFORMULA
这会失败,因为它会覆盖其他单元格中的内容。
这里是一个示例 spreadsheet,包含响应、解决方案 sheet 和期望的结果 sheet。 https://docs.google.com/spreadsheets/d/1r_l5fVJ9lGfpubO2o3pXicV7JlZWmANjwSgNi7_DL0A
对如何实现最终结果有什么建议吗?
好吧,我想这不是你真正想要的,但从视觉上看还不错...... 试试这个公式:
={{'Form responses'!A2:A3},ArrayFormula(regexreplace('Form responses'!B2:E3,", ",CHAR(10)))}
然后格式化单元格,使单元格内容为 TOP-aligned,而不是默认的 BOTTOM-aligned。
实际上,我想您希望将每个问题的答案分成多个单元格。但是,如果您的数据响应确实包含以逗号分隔的字母值,如您所指出的,您仍然可以搜索这些单元格以查找答案是否包含特定值。这完全取决于您为什么希望按照您的方式构建结果。
如果您能阐明您想对表单结果做什么,而不是仅仅针对每个问题垂直显示,也许我们可以针对该要求提供完整的解决方案?
更新1:
好的,我可能快到了。我可以将您的数据转换为如下所示:
这样您就可以进行所需的分析,方法是在第一列中搜索 Q.1(问题 1 的回答),然后在第三列中搜索所有答案,在第二列中搜索所有者。由此,也绝对有可能将结果以您想要的确切形式放置。它可能需要一个中间步骤。
更新2:
好的,我想我有一些你可以用的东西。我可以将您的数据转换为以下两种布局之一。
右边的最接近你的要求,除了右边的答案是底部对齐的,上面有空白。但是您仍然可以使用查询处理它们以进行分析。老实说,我认为在每一行都有用户标识符(电子邮件地址)会使事情变得更简单,但我可以提供任何一种方式。
左边的布局比较传统的数据库布局,分析起来会很简单。每行都有日期和电子邮件标识符、问题编号以及来自该用户的该问题的答案(或其中一个答案)。
如果这有帮助,最好启用您的示例 sheet 以允许我们对其进行编辑,以便我能够在您的 sheet 中实施它。但是这里是my sample sheet,万一有人想翻看呢。请注意,在 Solution!B3 中重新格式化数据的主要公式可以从大量清理中获益,并且可能远非实现此目的的最佳方法。只是抛出一个可能的解决方案...
我会尝试在某个时候为公式添加一些解释,但如果您有任何问题,请询问。