В сводной таблице представлено расписание своего дня, нужно показать на графике самое популярное дело каждый день ( чтобы выводилось только одно дело каждый день ) - вопрос №2725826

Ответы

Вопрос в том, как вы выделите «самое популярное дело»? По времени?
Это не сложно. Второй вопрос: как должен выглядеть график? Обращайтесь в чат, обсудим.
10.01.18
Доброго времени суток. Идея о структуре таблицы:

| Дата | Наименование | Время | Количество повторений |

(Столбец «Время» указывается при необходимости)

Можно написать макрос с использованием Function, который будет вызываться в каждой строке столбца «Количество повторений», а в качестве аргумента передавать динамически изменяющийся диапазон всех элементов столбца «Наименование» для перерасчета при его изменении.
1. Определить границы таблицы (из передаваемого аргумента типа Range)
2. Создать двумерный массив (1,1). Первый «столбец» отвечает за уникальное наименование, а второй за количество повторений. Заполнить его первым элементом из столбца «Наименование» и количество указать 1.
3. Начиная с второй строки таблицы по столбцу «Наименование» сверять с элементами массива. 1 такой проход — поиск на совпадение и добавление уникальных записей при достижении конца массива, второй — инкремент счетчиков у повторившихся (+1) и добавленных (=1).
4. Усложняя такой «прогон» можно добавить привязку к дате. Тогда, помимо столбца «Наименование» в цикле будет проверка с значением даты. Это позволит условно разделить элементы из столбца «Наименование» по рангу в столбце «Количество повторений».
Имея эти данные можно построить диаграмму с максимумом из общего объема данных в столбце «Наименование» или отдельно для каждой даты/периода. Для такого ранжирования можно добавить элементы управления, состоящие из RadioButton (Переключатель), например.

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

Так что по поводу скорости работы или рациональности утверждать не могу, это просто мысль.
10.01.18

Еva

от 100 p.
Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store