Получить значения в определенные промежутки времени - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть таблица с данными испытаний.Данные являются показаниями температуры через довольно регулярные интервалы.Я говорю «честно», потому что показания обычно выполняются с 10-секундными интервалами, но иногда тестовое оборудование пропускает одно или два считывания.
Для целей этого упражнения мы можем игнорировать отсутствующие данные.

Первое чтение в 09:00:00 12 мая 2016 года, а последнее чтение в 09:10:10 20 мая 2016 года. Файл доступен для скачивания здесь:
http://mbf.me/3XkRR0

Я бы хотел найти среднюю температуру на каждом часовом интервале.
Было бы здорово, если бы эти средние значения можно было вставить в новый столбец (например, столбец D).

Например, в ячейке B361 время равно 09:59:50.Следующая ячейка B362 будет обозначать сегмент времени следующего часа, поэтому в ячейке D361 я хотел бы видеть среднее значение показаний температуры от ячейки C2 до C361 включительно.Затем в интервале следующего часа ячейка D718 будет показывать среднее значение показаний температуры от ячейки C362 до C718 включительно.
D1078 будет усреднять ячейки C719 до C1078 и так далее.

Хотя у меня нет никакой работы с VBA, которую я мог бы показать здесь, я пробовал разные вещи в Excel (например, формулы автозаполнения), но безрезультатно.Честно говоря, я не думаю, что смогу понять, как Excel справляется со временем, чтобы понять это, не говоря уже о том, чтобы перевести это в код, используя мои ограниченные навыки VBA.Я думаю, что тот факт, что временные интервалы не являются действительно согласованными, а данные охватывают несколько дней, затрудняет мне решение этой проблемы.

Это первый раз, когда я отправляю вопрос, поэтому извиняюсь за то, что не выполнил никаких правил (мне удалось написать свой дебютный код VBA Excel без публикации вопроса, хотя я неоднократно обращался к stackoverflowпроцесс!)

Ваша помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Это не то, что вы просили, но есть еще один подход к рассмотрению:

Сводная таблица

В вашем файле примера столбец Time действительно Дата / Время отформатирован, чтобы показать только время.

Чтобы вы могли

  • Вставить сводную таблицу
  • Время перетаскивания в область строк
  • ПеретаскиваниеTemp to the Values ​​Area
  • Отредактируйте Temp, чтобы показать Average (вместо значения по умолчанию Sum) и отформатируйте число по вашему желанию (я использовал один десятичный знак)
  • Щелкните правой кнопкой мышив элементе строки в сводной таблице и выберите группирование по часам и дням (или просто по часам, если хотите)
  • Добавьте небольшое форматирование

Сводка по часам идни:

enter image description here

Сводка, сгруппированная по часам:

enter image description here

0 голосов
/ 17 декабря 2018

Поместите это в верхнюю часть столбца D и заполните.

=if(hour(b2)<>hour(b2+time(0, 0, 10)), averageifs(c:c, b:b, ">="&int(b2)+time(hour(b2), 0, 0), b:b, "<="&int(b2)+time(hour(b2), 59, 59)), "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...