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

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

3 ответа3

5

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

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

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

5

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

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

Наконец, сгруппируйте свои Метки строк по Месяцу и, возможно, по Году

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

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