我希望在Google表格中获取几列,并将其与相邻单元格中的列标题合并为一列。
我想从这样的角度出发:
像这样:
我目前正在通过一遍又一遍地排列第一列来实现此目的。然后,我将每一列排列在另一列上,如下所示:
Column 1 Column 2
={A1:A4;A1:A4;A1:A4} ={B1:B4;C1:C4;D1:D4}
在第三列中,我使用if-then语句来获取名称为column =“ Name”的列的名称
我的问题是,当我尝试使用多个列进行此操作时,构建这些数组变得非常乏味。我正在通过引用所有列的范围来寻求有关单个公式的帮助。
答案 0 :(得分:0)
这有点棘手,但可能。出于说明性的原因,我没有将所有内容都放在一个复杂的公式中,而是提出了逐步解决方案。免责声明:它是一种快速产品,因此并不完美。
使用A1中的此代码将一列(A)添加到“开始”数据中(这将成为我们的索引):
=ArrayFormula(if(B1:B<>"";row(A1:A)-1;""))
在“结果”表的A1中输入以下代码:
=ArrayFormula(INT((ROW(B1:INDIRECT("C"&(COUNTA(Data!$B1:B)-1)*4))-1)/4)+1)
在B1中,此代码:
=ArrayFormula(if(A1:A<>"";VLOOKUP(A1:A;Data!A1:E;2;0);"" ))
在C1中,这是
=transpose(SPLIT(REPT(TEXTJOIN("*";1;Data!C1:1)&"*";COUNTUNIQUE(B1:B));"*";0;0))
在D1中,这是
=ArrayFormula(IFERROR( VLOOKUP(B1:B;Data!B1:F;MATCH(C1:C;Data!B1:F1;0));""))
最后在F1中-要清除结果,请输入以下内容:
={{"Name"\"Column"\"Number"};{B1:D20}}