2016-12-13 5 views
2

Мое название не очень понятно, так что вот пример.Объедините два столбца и добавьте один дополнительный столбец, заполненный заголовками из двух первых столбцов.

У меня есть это:

Date   Header1   Header2  
01/01/2016 value_header1_1 value_header2_1 
02/01/2016 value_header1_2 value_header2_2 
03/01/2016 value_header1_3 value_header2_3 
04/01/2016 value_header1_4 value_header2_4 
05/01/2016 value_header1_5 value_header2_5 

и я хочу это:

Date   Header1   Extra column  
01/01/2016 value_header1_1 header1  
02/01/2016 value_header1_2 header1 
03/01/2016 value_header1_3 header1 
04/01/2016 value_header1_4 header1 
05/01/2016 value_header1_5 header1 
01/01/2016 value_header2_1 header2 
02/01/2016 value_header2_2 header2 
03/01/2016 value_header2_3 header2 
04/01/2016 value_header2_4 header2 
05/01/2016 value_header2_5 header2 

Я уже начала с помощью следующей формулы:

=transpose(split(join(";",'Daily data'!B1:B,'Daily data'!C1:C),";")) 

Но тогда я застрял!

Благодаря

ответ

2

Предполагая, что столбцы показываемых A: C, следующая формула работает:

={filter({A2:A, B2:B, iferror(A2:A/0, "header1")}, len(A2:A)); filter({A2:A, C2:C, iferror(A2:A/0, "header2")}, len(A2:A))} 

Первая часть образует массив три столбца, в котором третий столбец является «header1» (созданный путем искусственного выброса ошибки деления на ноль и помещения «header1» с iferror). Второй делает то же самое, но использует A и C вместо A и B. В обоих случаях фильтр гарантирует, что мы не будем включать строки, в которых A пусто. Наконец, два массива складываются с использованием записи вертикального стопа {array1; array2}.