在Excel中复制Google电子表格数组公式

时间:2016-10-20 15:24:27

标签: excel google-apps-script google-sheets

我已经获得了我想分析的Google表单调查数据。在我的示例文档中 https://docs.google.com/spreadsheets/d/1snnlqRSgEd13uG_y-2RRZx1i6w2UMCfpYyuL6MXzkx8/edit?usp=sharing

工作表1包含调查答复,工作表2参考工作表1中的数据。工作表2是我在名为行为的列下使用此数组公式的地方:

= ArrayFormula(if(len(A3:A),if(Sheet1!Question3 =&#34; Yes&#34;,&#34; Excluded&#34;)&amp; if(Sheet1!Question5 =& #34;是&#34;,&#34;被捕&#34;,)&amp; if(Sheet1!Question6 =&#34; Yes&#34;,&#34; Alcohol&#34;)))< / p>

问题是我需要能够将此Google电子表格下载为Microsoft Excel文档,但每当我这样做时,Microsoft Excel中不支持Google电子表格= ArrayFormula()函数。

我的问题是如何使用Google电子表格中的其他方法复制此数组函数的行为,以便在将其下载到Microsoft Excel时获得相同的结果?

到目前为止,我在论坛中找到的内容是关于如何在Excel中手动将公式复制到多行的问题。这些方法的问题在于用户必须通过单击并拖动单元格的右下角或使用快捷方式来完成此操作。我希望我的流程能够工作,这样用户就不必手动执行任何操作。

非常感谢提前。

3 个答案:

答案 0 :(得分:0)

你很可能发现这是不可能的;至少不是在每种情况下。可能有一些公式在Google表格和Excel中具有完全相同的定义。但是,它不能保证一般的工作。

此处提供了一些更详细的信息:Sheets vs Excel forumlae

答案 1 :(得分:0)

Excel支持数组公式,但它采用与Google表格不同的方式。

Excel要求公式autor / editor,而不是ARRAYFORMULA函数,首先选择应扩展数组公式结果的区域,然后进入编辑模式并按 CTRL + SHIFT + 输入。请参阅创建在Create an array formula

上计算多个结果的数组公式

答案 2 :(得分:0)

即使不像ArrayFormula函数那么简单,也可以使用OFFSET()公式在MS Excel中复制Google Sheet ArrayFormula。

此功能的完整文档可以在这里找到。

https://support.office.com/en-us/article/OFFSET-function-C8DE19AE-DD79-4B9B-A14E-B4D906D11B66

简单示例

Google表格

= ARRAYFORMULA(SQRT(Sheet2!A:A))

=>这将复制Sheet2的完整列A,并取每个值的平方根。

Excel版本

= SQRT(OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),1))

=>这将获取列的引用,但是在获取每个值的平方根之前,我们必须手动指定引用的高度和宽度。