倒置表

时间:2015-09-25 11:14:21

标签: google-sheets

这是我的表格:

        A                   B
1       Title1      |       Title
2            
3       0           |       # of teachers
4            
5       11          |       # of students
6            
7       Not active  |       Active?
8            
9            
10           
11      Title2      |       Title
12           
13      3           |       # of teachers
14           
15      5           |       # of students
16           
17      Not active  |       Active?
18           
19           
20           
21      Title3      |       Title
22           
23      10          |       # of teachers
24           
25      22          |       # of students
26           
27      Not active  |       Active?

我想在另一张纸上“反转”它以获得标题,教师数量,学生数量和活动数量?作为标题,然后是右列下的值(每个条目在一个单独的行中)。 我试图使用MATCH而没有太多运气..

这只检索第一个标题(每次):

=index(SheetWithTable!$A:$A,match("Title",SheetWithTable!$B:$B,0))

3 个答案:

答案 0 :(得分:1)

请复制您的工作表并在该副本中选择B1:B7,复制,使用粘贴转置将特殊粘贴到D1中。在D3中,复制到J3并向下以适合:

=index($A1:$A11,match(D$1,$B1:$B11,0))  

选择全部,复制,粘贴特殊,仅粘贴值。过滤列B以仅取消选择# of teachers并删除除行1之外的所有行。清除过滤器。删除列I,G,E,C,B,A。

答案 1 :(得分:1)

在单元格D1中尝试以下公式:

={{B1,B3,B5,B7};{filter(A:A,B:B=B1),filter(A:A,B:B=B3),filter(A:A,B:B=B5),filter(A:A,B:B=B7)}}

或者您可以尝试:

={{"Title","# of teachers","# of students","Active?"};{filter(A:A,B:B="Title"),filter(A:A,B:B="# of teachers"),filter(A:A,B:B="# of students"),filter(A:A,B:B="Active?")}}

查看以下屏幕截图:

enter image description here

答案 2 :(得分:0)

如果表格中有3个标题,则可以旋转它:

rotateArray = function(array) {
  var newArray = [];
  for (var i = 0; i < array[0].length; i++) {
            newArray[i] = [];
    for (var j = 0; j < array.length; j++) {
      newArray[i].push(array[j][i]);
    }
  }
  return newArray;
};

http://dtab.io/sheets/560b8efd6faeb39d2a70ad1e