根据特定单元格的内容将某些数据列转换为行

时间:2018-05-17 18:41:41

标签: excel google-sheets rows

我在电子表格中有多行学生,他们的成绩在顶部作为列标题。并非所有学生都会完成我列出的每个科目,因此有些专栏将为空白。我试图将这些等级用作范围,并且在电子表格的末尾将填充的单元格显示为彼此相邻。我将需要主题标题来附加非空白单元格数据。

请参阅下面的屏幕截图,了解哪些数据需要去哪里:

Annotated version:

我在堆栈上找到了一种答案,但它完全错误地解决了我必须工作的问题(见下图)。所以,请帮我翻转一下,这样名字就会沿着A列和第一排的主题走下去。 (这是在Google表格中)。

Array Formula

以下是我想要实现的内容的模拟,所有数据可能都在一个学生行上,但我已经按照这样的方式组织了截图。

Mock Up

1 个答案:

答案 0 :(得分:0)

根据您的带注释的屏幕截图,这里是如何从顶部表到底部表。

手动输入Subject 1等标题。

={G13:G16}放入G20以复制您的学生姓名。

H20中使用=INDEX(FILTER($H$12:$O$12, $H13:$O13 <> ""), 1, 1)抓取$H$12:$O$12$H13:$O13内非空白单元格上的第一个标题。

在上面的公式中,FILTER()抓取范围内非空白单元格的所有标题,而INDEX()用于获取第一个结果。

重复H21:H23的公式(让表格更新未使用$前缀修复的引用。)

I20中使用=INDEX(FILTER($H13:$O13, $H13:$O13 <> ""), 1, 1)获取$H13:$O13中的第一个非空白值。

重复I20:I23

的公式

向右移动,只需复制公式,但更新INDEX()的值,但将列参数增加1。例如。 J20将包含=INDEX(FILTER($H$12:$O$12, $H13:$O13 <> ""), 1, 2)K20将包含=INDEX(FILTER($H13:$O13, $H13:$O13 <> ""), 1, 2)

这样可以帮助你顺利完成。

快乐的电子表格!