2

У меня есть таблица (в MySQL) с 3 столбцами:

Location    Category     Supplier

   A        Computers    Company X
   A        Printers     Company Y
   B        Computers    Company X
   B        Printers     Company Y
   B        Software     Company Y
   C        Computers    Company Y
   C        Software     Company Z

Теперь мне нужно сделать матрицу, содержащую вышеуказанную информацию, например:

       Computers      Printers       Software

A      Company X      Company Y
B      Company X      Company Y      Company Y
C      Company Y                     Company Z

В конце концов мне нужно иметь это в Excel.

На самом деле у меня есть переменное количество категорий, так что делать это в MySQL с объединением для каждого столбца не является хорошим вариантом. Я мог бы написать функцию на PHP, но мне было интересно, есть ли более элегантное решение.

Я посмотрел сводные таблицы в Excel, но они, кажется, подходят только для чисел в качестве значений. Но, может быть, я что-то упускаю из виду, так как сам никогда не работаю с Excel.

2 ответа2

2

Я не знаю, насколько это "элегантно", как вы надеялись, но вы на правильном пути с идеей сводной таблицы. Вам просто нужно немного обмануть. "Вспомогательный столбец", сводная таблица и функция "vlookup" могут быть вашими друзьями здесь.

Сначала к исходным данным добавьте вспомогательный столбец для "SupplierNumber". Компания X = 1, Компания Y = 2, Компания Z = 3. Я поместил вспомогательный столбец в качестве первого столбца, чтобы его можно было легко использовать позже в vlookup. Обратите внимание, что данные теперь находятся в ячейках A5:D11.

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

Выберите и скопируйте всю сводную таблицу, затем «вставьте специальные / значения» в другое место сбоку от исходной сводной таблицы. Затем в теле копии таблицы введите показанную формулу. Обратите внимание, что формула vlookup ссылается на исходную сводную таблицу (ссылка "H7" - см. Предыдущую диаграмму), а также на диапазон A5:D11, упомянутый ранее.

Как я уже сказал, это не элегантно, но работает. Есть много умных людей, которые просматривают этот сайт, и, вероятно, найдут для вас "элегантное" решение!

0

Я понял, что вы можете вообще избежать сводной таблицы. Смотрите скриншот ниже. Используйте вспомогательный столбец. Определите именованные диапазоны, как показано. Настройте свой макет, как в G14:J18. В теле таблицы используйте VLOOKUP с SUMPRODUCT.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .