Усреднение определенного диапазона данных с помощью цикла в Excel vba

#excel #vba #database #reduce

#excel #vba #База данных #уменьшить

Вопрос:

У меня есть данные о температуре, полученные каждую секунду (1 Гц).

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

Я хочу сократить эти данные до минут в сочетании с усреднением данных каждые 60 секунд. Который будет выглядеть примерно так.

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

Я пробовал скользящую среднюю и другие вещи, но это не сработало. Есть ли какой-либо код VBA, с помощью которого я могу приблизиться к своей цели или какой-либо специальной функции.

Мой диапазон временных данных составляет [A3] — [A88739], а диапазон данных — от [B3] до [B99739].

Я буду ждать ваших ответов.

Спасибо!

Ответ №1:

Я думаю, что более простым способом было бы использовать вспомогательный столбец.

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

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

Моя формула в столбце C =VALUE(SUBSTITUTE(LEFT(A3;LEN(A3)-6);".";"/"))

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

Настройка моей сводной таблицы:

  1. Поле Helper в разделе строк и сгруппировано по дням, часам и минутам
  2. Введите поле Temp в раздел значений и выберите среднее вместо суммирования

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

Комментарии:

1. Большое вам спасибо. Я пробовал сводную таблицу, но не смог получить фильтры в виде часов, минут и дней. Теперь он работает отлично, мне удалось отфильтровать эти значения так, как я хочу!