У меня есть лист, который собирает данные из еженедельных рабочих тетрадей.В каждой книге есть одна ячейка, в которой все данные, которые мне нужны, переносятся в одну ячейку.Данные взяты из диапазона 29 столбцов на 29 строк, но со временем это может увеличиться.Каждая строка представляет данные из одного рабочего задания (WO), включая WO #, стоимость рабочей силы ($) и список сотрудников, которые работали на работе (E #).
Затем эта ячейка открывается и извлекается в одну строку данных.29 столбцов для каждой из 29 строк в исходных данных.Это означает 29 х 29 столбцов.
WO1 $10 E1 E2 E3 E4 WO8 $10 E1 E2 E3 E4
WO2 $15 E1 E2 WO3 $15 E1 E2
WO3 $20 E1 E2 E3 WO9 $20 E1 E2 E3
WO4 $25 E1 E2 E3 E4 WO5 $25 E1 E2 E3 E4
WO5 $30 E1 E2 WO10 $30 E1 E2
WO6 $35 E1 E2 E3 E4 WO11 $35 E1 E2 E3 E4
WO7 $40 E1 E2 E3 WO1 $40 E1 E2 E3
Я хотел бы создать список, объединяющий все данные для каждой WO в единый список, состоящий из 29 столбцов шириной и 841 строкой.Возможно, что некоторые задания занимают более 1 недели и могут иметь данные в нескольких строках, поэтому на данный момент могут быть дубликаты WO.
WO1 $10 E1 E2 E3 E4
WO2 $15 E1 E2
WO3 $20 E1 E2 E3
WO4 $25 E1 E2 E3 E4
WO5 $30 E1 E2
WO6 $35 E1 E2 E3 E4
WO7 $40 E1 E2 E3
WO8 $10 E1 E2 E3 E4
WO3 $15 E1 E2
WO9 $20 E1 E2 E3
WO5 $25 E1 E2 E3 E4
WO10 $30 E1 E2
WO11 $35 E1 E2 E3 E4
WO1 $40 E1 E2 E3
Я думал, что если бы я мог получить список с каждой WOи связывая данные в единый список, я мог бы создать уникальный список WO и другой магии Excel, чтобы уточнить список и достичь того, что мне нужно.Эта часть, я думаю, я справлюсь.Задача для меня - сначала поместить все это в один список.
Я попробовал этот код: Excel - Объединить несколько столбцов в один столбец
=IF(ROW()<=COUNTA(A:A),INDEX(A:A,ROW()),IF(ROW()<=COUNTA(A:B),INDEX(B:B,ROW()-COUNTA(A:A)),IF(ROW()>COUNTA(A:C),"",INDEX(C:C,ROW()-COUNTA(A:B)))))
Но для этого потребуется 29 вложенных операторов if ивсе данные должны быть перегруппированы так, чтобы все соответствующие ячейки были смежными друг с другом.
Я бы предпочел использовать формулы, но буду использовать VBA, если это лучший способ.
Если интересноВот примерная версия файла: https://www.dropbox.com/s/58iex17wx3wuvug/stackoverflowsample.xlsx?dl=0
Первые 30 столбцов - это мои попытки начать работать с приведенной выше формулой.
Вероятно, я могу уменьшить количество исходных столбцов, посколькувероятность того, что более 10-15 сотрудников когда-либо будут работать на одной и той же работе, невелика, если не невозможна, но именно столько столбцов я изначально допустил.Это может быть изменено, если это выгодно.Хотя может быть больше строк для WO.
Я мог бы извлечь и по-другому, если это имеет значение.