Есть повторяющаяся таблица, нужно скомпилировать

321
goober grape

У меня есть простая повторяющаяся таблица из 2 столбцов со следующей структурой (здесь столбцы разделены запятой, но в моем файле они разделены табуляцией:

Unique_Identifier_1,
Data_typeA, Data_A1
Data_typeB, Data_B1
Data_typeC, Data_C1
Unique_Identifier_2,
Data_typeA, Data_A2
Data_typeB, Data_B2
Data_typeC, Data_C2

Я хотел бы скомпилировать содержимое этой таблицы в новую таблицу со следующим более сжатым форматом:

, Unique_Identifier_1, Unique_Identifier_2
Data_typeA, Data_A1, Data_A2
Data_typeB, Data_B1, Data_B2
Data_typeC, Data_C1, Data_C2

Любые предложения с благодарностью. Заранее спасибо!

-1

1 ответ на вопрос

1
goober grape

В итоге я использовал команду Excel "OFFSET":

= OFFSET ($ A $ 1, (СТРОКА () - 2) * 8 + INT ((колонка () - 4)), 0)

Это печатает данные из таблицы, начиная с A1, в новую таблицу следующим образом:

«ROW () - 2» указывает на смещение двух строк вниз от A1 или строки 3.

«* 8» указывает, что исходная таблица имеет 8 строк, поэтому это действие следует повторять каждые 8 ​​строк.

«+ INT ((COLUMN () - 4)» указывает на смещение четырех столбцов справа от A1 или столбца D.

«, 0» указывает, что исходная таблица имеет только один столбец, поэтому действие не повторяется.

Затем я скопировал эту формулу в правильные 8 столбцов, а затем копировал, пока все данные не были напечатаны в новую таблицу.

Это мое рабочее решение и текущее понимание этой функции Excel. Я проверил огромную таблицу и все данные были там, где они должны быть. Поскольку я больше использую эту функцию, я надеюсь лучше понять ее полезность.

Спасибо тем, кто нашел время, чтобы прочитать мой вопрос. Я уверен, что есть лучшее решение с использованием grep, sed, awk или list, но я пока не знаю как. Я надеюсь выйти за пределы Excel в ближайшее время. Я искал решение, отличное от Excel, но у меня нет опыта, необходимого для поиска подходящих поисковых запросов Google.

Если бы у вас были таблицы, тогда Excel - довольно хорошее решение. Возможно, вы также можете попробовать VLOOKUP, это более надежно, чем OFFSET. Если данные расположены так, что вы можете решить свою проблему с помощью OFFSET, то вы можете даже скопировать последний столбец таблицы в другой столбец. Máté Juhász 6 лет назад 0