Несколько серий в одну строку на линейном графике в Excel?

Я пытаюсь сделать линейный график в Excel, который объединяет несколько рядов в ОДНУ строку. Все, что мне удалось создать до сих пор, — это один график с несколькими линиями на одной оси Y. Можно ли объединить несколько точек данных из нескольких рядов вместе в хронологическом порядке?

Для контекста: я пытаюсь сделать график, показывающий месячные температуры в период с 1880 по 2017 год. Январь, февраль и так далее — каждая отдельная серия. Я могу сделать гистограмму, которая показывает каждый год с каждым месяцем в хронологическом порядке, но есть ли способ преобразовать ее в линейный график, не создавая несколько строк для каждого месяца, а вместо этого одну линию, которая хорошо объединяет все точки данных месяца вместе?

Спасибо!


person Hannah Griffith    schedule 07.05.2017    source источник
comment
Вы можете создать новый столбец со средними значениями за каждый месяц (используя формулу =AVERAGE) и построить этот столбец.   -  person A.S.H    schedule 07.05.2017


Ответы (1)


Если в описанных вами данных нет пробелов, и у вас есть таблица из (2017-1880+1)=138 строк по 12 столбцам. Здесь это один из способов построить однолинейный график данных (некоторые случайные мнимые данные, использованные в примере).

К сожалению, стандартные Excel функции данных могут обрабатывать только даты не старше 1 января 1900 года, см., например, http://www.exceluser.com/formulas/earlydates.htm.

Но вам повезло, так как все, что вам нужно, это всего лишь цифры года и месяца. В этом случае даты по оси x могут быть представлены числами, целой частью которых является год, а дробной частью — часть года, представляющая месяц.

Предполагая, что таблица находится в Sheet1!A2:M139, выберите Sheet2 , введите формулу

=1880+FLOOR((ROW()-2)/12,1)+MOD(ROW()-2,12)/12

в ячейке A2 и скопируйте его в A1657 любым способом. Например, выберите A2, нажмите Ctrl+C, щелкните в поле ввода Name box, введите в нем диапазон A2:A1657 и нажмите Ctrl+В. Вот и все, это создаст все значения даты по оси x для однолинейного графика.

Следующим шагом будет последовательное заполнение диапазона B2:B1657 месячными данными из Sheet1.

Выберите ячейку B2 и введите формулу

=TRANSPOSE(INDIRECT(ADDRESS(2+LEFT(A2,4)-1880,2,,,"Sheet1")&":"&ADDRESS(2+LEFT(A2,4)-1880,13)))

выберите диапазон B2:B13, щелкните в конце формулы и нажмите Ctrl+Shift+Enter. Диапазон B2:B13 теперь заполнен данными T с Jan по Dec 1880 года, и он по-прежнему выбран.

Нажмите Ctrl+C, чтобы скопировать этот диапазон, затем выберите B14:B1657 и нажмите Ctrl+V.

Все, все показания из таблицы будут выложены в диапазоне B2:B1657.

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

Изменить

Для второй части есть еще более простое решение: заполнить диапазон B2:B1657 формулой

=INDEX(Sheet1!$B$2:$M$139,FLOOR((ROW()-2)/12,1)+1,MOD(ROW()-2,12)+1)

Он просто преобразует линейную координату x текущей точки на основе номера последующей строки ((ROW()-2)) в соответствующую пару строк и столбцов в таблице и извлекает значение таблицы с помощью функции INDEX().

person g.kov    schedule 07.05.2017