Создайте основную таблицу на основе уникального идентификатора со столбцами для данных из каждой таблицы / рабочего листа. - PullRequest
0 голосов
/ 05 апреля 2019

В настоящее время я работаю в Excel, но я готов рассмотреть решения в (бесплатной) базе данных программного обеспечения.Данные, которые у меня есть, упорядочены по периодам времени, по одному листу для каждого периода.Все рабочие листы имеют одинаковую структуру столбцов.Вот пример данных с рабочего листа на 2017 год:

| Time Period | Product ID | Prod. Category ID | Product Scale |
| 2017 - Q1   | 0012345678 | 012345            | 3             |
| 2017 - Q1   | 0023456789 | 012345            | 1             |
| 2017 - Q1   | 0033333588 | 022235            | 3             |
| 2017 - Q1   | 0123333333 | 022235            | 1             |

Вот пример данных с рабочего листа на 2017 год:

| Time Period | Product ID | Prod. Category ID | Product Scale |
| 2017 - Q2   | 0012345678 | 012345            | 5             |
| 2017 - Q2   | 0033333588 | 022235            | 7             |
| 2017 - Q2   | 0123333333 | 025444            | 5             |
| 2017 - Q2   | 0145555578 | 025444            | 1             |

То, что яОсобое внимание уделено следующим вопросам:

  1. Идентификатор продукта 0023456789 не появляется в 2017-Q2, поэтому в соответствующем столбце главной таблицы должно что-то отображаться (оно может быть пустым, оно может быть NULL, оно можетбыть N / A, это не имеет значения, если оно всегда одинаково.) То же самое должно произойти, когда идентификатор продукта впервые появляется в более поздний период времени, периоды до этого должны иметь то же значение N / A(или NULL, или пусто, или что-то еще) Это означает, что для формирования основной рабочей таблицы мне необходимо составить сводный список всех идентификаторов продукта за все периоды времени, поскольку присутствуют не все идентификаторы продуктав каждый период времени.
  2. Код продукта 0123333333 изменен Прод.ID категории, поэтому мне нужно всегда тянуть хотя бы Prod.Столбец «Идентификатор категории» и столбец «Масштаб продукта» для каждого периода времени, просто чтобы быть уверенным, изменился он или нет.

Я хочу сгенерировать основной рабочий лист следующим образом (сокращенные имена столбцов только для ограничения пространстваздесь, на этом веб-сайте):

| Product ID | 2017-Q1PCID | 2017-Q1 PS | 2017-Q2 PCID | 2017-Q2 PS |
| 0012345678 | 012345      | 3          | 012345       | 5          |
| 0023456789 | 012345      | 1          | N/A          | N/A        |
| 0033333588 | 022235      | 3          | 022235       | 7          |
| 0123333333 | 022235      | 1          | 025444       | 5          |
| 0145555578 | N/A         | N/A        | 025444       | 1          |

У меня 12 рабочих листов с разными периодами времени, поэтому основной рабочий лист должен сначала составить основной список уникальных идентификаторов продуктов, а затем иметь 24 дополнительных столбца, поскольку существует 2 столбца.столбцы для каждого периода времени (один столбец для идентификатора категории продукта и другой для идентификатора масштаба продукта, для этого периода времени.) Кроме того, я должен отметить, что на каждом листе периода времени есть 8 000-12 000 записей идентификаторов продуктов, поэтому в идеале решение должноуметь обрабатывать тысячи строк довольно быстро.

1 Ответ

0 голосов
/ 05 апреля 2019

TLDR: используйте index () match ().

Предполагая, что таблица 1 расположена в «Sheet1», а «Product ID» в последней таблице находится в ячейке A1, поместите это в B2:

=IFERROR(INDEX('2017-Q1'!C:C,MATCH(A2,'2017-Q1'!B:B,0)),"")

и в C2:

=IFERROR(INDEX('2017-Q1'!D:D,MATCH(A2,'2017-Q1'!B:B,0)),"")

и перетащите вниз.

Идея: «загрузить» ответ, если идентификатор продукта совпадает на исходном листе,и оставьте поле пустым, если не найдено совпадение идентификатора продукта.

Надеюсь, это поможет.(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...