Как сделать график, который отображает частоту записей?

8

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

11/14/2011 11:53
10/14/2012 11:53
11/23/2012 19:28
12/24/2012 12:27
...
12/1/2013 11:48

Я хотел бы создать линейный график, который говорит мне, сколько записей в каждом месяце. Как мне это осуществить?

AngryHacker
источник

Ответы:

5

Ответ Майка Фитцпатрика сработает хорошо, если вы попытаетесь посчитать все значения за месяц, независимо от года. Если вам нужна диаграмма подсчета для каждого месяца в году (т. Е. Вы можете провести различие между ноябрем 2012 года и ноябрем 2013 года), вам потребуется немного больше подробностей.

  1. Создайте стандартную таблицу из ваших существующих данных.
  2. Добавьте столбец с именем Год с формулой = Год (A2).
  3. Добавьте столбец с именем Месяц с форумом = Месяц (А2).
  4. В вашей сводной таблице используйте Год и Месяц в качестве меток строк, а DateTime в качестве значений (все еще с Count).
  5. Ваша сводная таблица теперь будет различать один и тот же месяц по разным годам.
  6. Наконец, с выбранной сводной таблицей вставьте столбчатую диаграмму, чтобы создать сводную диаграмму с вашими ежемесячными значениями.

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

DAV
источник
+1. Обновил мой ответ, чтобы включить группировку по годам, если требуется.
Майк Фитцпатрик,
5

Предполагая, что ваши данные являются действительными датами времени Excel, присвойте вашему диапазону заголовок (например, «Datetime»), а затем создайте сводную таблицу.

Используйте Datetime (или как вы его называете) в качестве меток строк и ваших ценностей. Убедитесь, что функция Values ​​- это Count, а не Sum.

И, наконец, сгруппируйте ярлыки строк по месяцам и, возможно, по годам.

Майк Фицпатрик
источник
1
В Excel 2010 эту групповую опцию так сложно заметить, что мне пришлось трижды проверять различные местоположения, выпадающие списки и что не раньше, пока я не нашел его на ленте «Параметры» и активировал только при нажатии на столбец фактической таблицы.
Александр Рафалович
Щелкните правой кнопкой мыши даты, которые вы хотите сгруппировать, и один из пунктов всплывающего меню - «Группа».
Джон Пельтье
1

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

введите описание изображения здесь

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

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

var frequencyPerMonth = new Object();

  var monthLast = 1;
  var yearLast = 1970;
  for(var i=0;i<data.length;i++){
    var monthThis = parseInt(data[i][0].split('/')[0]-1);
    var yearThis = parseInt(data[i][0].split('/')[2]);

    if(monthThis == monthLast && yearThis == yearLast){
        frequencyPerMonth[data[i][0].split('/')[2]+monthThis.toString()] += 1;
    }
    else{
        frequencyPerMonth[data[i][0].split('/')[2]+monthThis.toString()] = 1;
    }
    monthLast = monthThis;
    yearLast = yearThis;
  }

Funfun также имеет онлайн-редактор, в котором вы можете изучить свой код JavaScript и результат. Вы можете проверить детали того, как я сделал пример диаграммы в ссылке ниже.

https://www.funfun.io/1/#/edit/5a4e0d461010eb73fe125c4e

Как только вы удовлетворены результатом, которого вы достигли в онлайн-редакторе, вы можете легко загрузить результат в Excel, используя приведенный выше URL. Но, конечно, во-первых, вам нужно добавить надстройку Funfun в ваш Excel с помощью Insert - надстройки Office . Вот несколько скриншотов, показывающих, как вы загружаете пример в Excel.

введите описание изображения здесь

введите описание изображения здесь

Раскрытие информации: я разработчик Funfun

Чуань Цинь
источник