【问题标题】:Google Sheets, cell referencing谷歌表格,单元格引用
【发布时间】:2020-11-19 13:06:51
【问题描述】:

我正在使用带有复选框模板的 Google 表单。为了提取结果,我目前的公式是:

=ArrayFormula(TRANSPOSE(TRIM(SPLIT(CONCATENATE(Responses!B17:17&","),","))))

我想水平拖动公式,B17:17 增加到 B18:18 而不是 C17:17。有什么办法吗?

【问题讨论】:

    标签: google-sheets google-sheets-formula google-forms


    【解决方案1】:

    我仍在考虑按照您要求的方式修改您的公式,但是下面的公式是否也可以为您提供您想要的结果?请尝试一下并告诉我。出于测试目的,我限制了它的范围;可以根据需要调整...

    =transpose(Responses!B17:Z41)
    

    更新:

    我认为以下公式是您特别要求的,一个可以拖过去的公式。请对其进行测试,看看它是否适用于您的工作表。如果没有,请在您的工作表中为我们突出显示它的问题。

    =ArrayFormula(TRANSPOSE(TRIM(SPLIT(CONCATENATE(
       INDIRECT("'Responses'!B"& COLUMN(Q1) & ":" & COLUMN(Q1))
       & ","),","))))
    

    这使用您的基本公式,但将地址范围更改为使用 INDIRECT,然后使用列值(因为它被横向拖动)生成它在响应中作用的范围的行值。

    请注意,Q 列用于生成起始值 17,以在 Responses 中创建初始 B17 地址。可以更改此列字母,以防您需要从响应范围内的其他位置开始。当公式被横向拖动时,表格会自动增加“Q”,这会增加从响应中提取的结果“行值”。

    让我们知道这对您有什么作用。

    结果如下; B2 和 C2 中的公式,E2:J2 中的可拖动公式,以及 L2 中的简单 TRANSFORM

    【讨论】:

    • 这太完美了!一件小事,因为我在表单中使用了复选框模板,所以没有任何响应的单元格以“,,,,”结尾。我知道我可以使用=IF(ArrayFormula(TRANSPOSE(TRIM(SPLIT(CONCATENATE(Responses3!A63:63&","),","))))=",,,,,,,,,,,,,,,,,,,","",ArrayFormula(TRANSPOSE(TRIM(SPLIT(CONCATENATE(Responses3!A63:63&","),",")))))(旧公式),但是有没有更简洁的方法来删除逗号?
    • 如果您可以共享一个样本表,其中只有一些复选框和给出错误的公式,这将有所帮助。我正在理解你所拥有的。以下是如何最好地分享的指南:webapps.stackexchange.com/questions/138382/…
    • 你能澄清一下哪个公式对你有帮助吗?普通的 TRANSPOSE 没有做你需要的事情是有原因的吗?其次,您是否可以使用 REGEXREPLACE 删除逗号,例如: =regexreplace(cell-or-range,"\,","") ?在 ArrayFormula 内,这可以处理整个范围...
    • =ArrayFormula(TRANSPOSE(TRIM(SPLIT(CONCATENATE( INDIRECT("'Responses'!B"& COLUMN(Q1) & ":" & COLUMN(Q1)) & ","),",")))) 这个工作完美。至于逗号,如果表单中有复选框,如果没有响应,它会为每个复选框添加逗号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多