У меня есть устройство, которое собирает измерения температуры с нескольких датчиков через дискретные интервалы времени. Эти данные сбрасываются в файл .csv, где каждая строка форматируется как: [время] [имя датчика] [температура]. Каждая временная метка имеет от трех до пяти связанных с ней измерений температуры.
Для каждой временной метки я ищу способ получить минимальное, максимальное и среднее значение температуры по всем датчикам. Мой набор данных большой (от 50 до 150 тысяч строк), поэтому метод должен состоять из формул и/или VBA.
После долгих поисков, самое близкое, что я нашел, это функция averageif, которую я не могу заставить работать с большим набором данных, с которым я работаю. Я был бы признателен за любые предложения о том, с чего начать.
решение1
Сводные таблицы как раз для этого и предназначены (и это избавит вас от VBA). Выполните следующие шаги:
- Создайте сводную таблицу и выберите свои данные в качестве входных данных.
- Помещайте временные метки в метки строк
- Введите название датчика в заголовки столбцов.
- Введите «Температура» в поле «Значение» и измените его так, чтобы оно выражало минимальное значение.
- Введите «Температура» в поле «Значение» и измените его так, чтобы оно выражало среднее значение.
- Введите «Температура» в поле «Значение» и измените его так, чтобы оно выражало максимальное значение.
Ух ты! Выглядит здорово! ;-)