#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);".";"/"))
Затем с помощью сводной таблицы вы можете сгруппировать свои данные по дням, часам и минутам и получить среднее значение.
Настройка моей сводной таблицы:
- Поле
Helper
в разделе строк и сгруппировано по дням, часам и минутам - Введите поле
Temp
в раздел значений и выберите среднее вместо суммирования
Комментарии:
1. Большое вам спасибо. Я пробовал сводную таблицу, но не смог получить фильтры в виде часов, минут и дней. Теперь он работает отлично, мне удалось отфильтровать эти значения так, как я хочу!