用第一列排列所有列的公式

Posted

技术标签:

【中文标题】用第一列排列所有列的公式【英文标题】:Formula to array all columns with first column 【发布时间】:2017-03-28 04:51:40 【问题描述】:

我正在将 csv 数据提取到 Google 电子表格中,该电子表格的名称在 A 列中垂直排列,问题在第 1 行中水平排列。一些列中有分数,其他列是空白的。像这样:

 |       | Q1  | Q2  | Q3 | Q4  | Q5  | Q6 | Q7  |
 |-------|-----|-----|----|-----|-----|----|-----|
 | Name1 | ##% | ##% |    | ##% | ##% |    | ##% |
 | Name2 | ##% | ##% |    | ##% | ##% |    | ##% |
 | Name3 | ##% | ##% |    | ##% | ##% |    | ##% |
 | Name4 | ##% | ##% |    | ##% | ##% |    |     |
 | Name5 | ##% | ##% |    | ##% | ##% |    |     |

我想建立一个公式,将每列的分数与名称列和列标题匹配成 3 列,无论天气如何,单元格中都有任何值。我想要一个名称列、一个问题标题列和一个分数列,如下所示:

 | Name1 | Q1 | ##% |
 | Name2 | Q1 | ##% |
 | Name3 | Q1 | ##% |
 | Name4 | Q1 | ##% |
 | Name5 | Q1 | ##% |
 | Name1 | Q2 | ##% |
 | Name2 | Q2 | ##% |
 | Name3 | Q2 | ##% |
 | Name4 | Q2 | ##% |
 | Name5 | Q2 | ##% |
 | Name1 | Q3 | ##% |
 | Name2 | Q3 |     |
 | Name3 | Q3 |     |
 | Name4 | Q3 |     |
 | Name5 | Q3 |     |
 And so on....

目前我正在通过在新工作表的单元格 A1 中一遍又一遍地排列第一列来做到这一点:

= FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>""); FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");FILTER(Input!A:A,Input!A:A<>"");

然后像这样在单元格 B2 中排列所有列: =FILTER(Input!B:B,Input!A:A<>"");FILTER(Input!C:C,Input!A:A<>"");FILTER(Input!D:D,Input!A:A<>"");FILTER(Input!E:E,Input!A:A<>"");FILTER(Input!F:F,Input!A:A<>""); FILTER(Input!G:G,Input!A:A<>"");FILTER(Input!H:H,Input!A:A<>"");FILTER(Input!I:I,Input!A:A<>"");FILTER(Input!J:J,Input!A:A<>"");FILTER(Input!K:K,Input!A:A<>"");

我有一个公式,我已将 C 列向下拖动以查找数组中的标题行并将它们复制下来以获取所有名称。

由于我有数百列问题,因此这些数组公式非常庞大。有没有更简单的方法,只需使用某种矩阵引用所有列?

感谢任何帮助。

【问题讨论】:

您能否分享一个示例电子表格,以便我们处理一些数据? 您可能需要考虑使用谷歌应用脚​​本为此制作自定义脚本。 【参考方案1】:

我有一个用于此类任务的示例脚本。它可以用作自定义公式:

=unpivotTable(false, B1, B2, B3)

在哪里

    false 使用当前文件 B1 保存第一个标题范围:Sheet1!A1 B2 持有第二个标题范围:Sheet1!B1:Z1 B3 保存旋转列的标题:Question,%

如果我的脚本适合你,请尝试:

Sample file 探索。

【讨论】:

这正是我所需要的。感谢分享。 这个答案(恕我直言)在这里没用。您本可以展示代码以供其他人学习。

以上是关于用第一列排列所有列的公式的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL如何把第二列的数据按照第一列数据排序,第二列的数据少于第一列

关于pandas处理数据,怎么提取某一列的部分数字

排列组合的数学公式

Python for循环遍历一列的所有行

返回值的公式,其中一列中的第一个单词与另一列的最后四位匹配

word2003论文中的公式如何居中,编号如何右对齐?