У меня большой объем данных о температуре за 3 года, около 340 000 строк. Он содержит показания температуры каждый час и для 12 различных географических точек, то есть 24 показания в день для каждой точки.
Я пытаюсь рассчитать максимальную температуру для каждого дня в каждом месте и поместить их в простую сетку дат в виде строк, а мест в виде столбцов, и использую обходную формулу массива, которая по сути является формулой «МАКСЕСЛИ», как показано ниже:
{=МАКС(ЕСЛИ(J:J=A6, ЕСЛИ(K:K=B5, I:I)))}
(Где A6 — дата, B5 — местоположение, столбец J содержит все даты в данных о температуре, столбец K — идентификаторы местоположений, столбец I — фактические показания температуры.)
Кажется, это работает примерно для нескольких сотен строк, но при превышении этого количества возникает ошибка «Excel исчерпал ресурсы при попытке вычислить одну или несколько формул».
Я понимаю, что это очень ресурсоемкий способ расчета, так может кто-нибудь знает другой способ, которым я могу это сделать?
У меня была мысль попробовать применить формулу RANK() к данным о температуре, ранжируя каждое показание температуры в течение дня и основывая диапазон на динамических ссылках, но я пока не совсем разобрался с этим, и у меня есть ощущение, что это будет столь же ресурсоемко и, скорее всего, вызовет проблемы с вычислениями.
решение1
Обычно подобные проблемы легко решаются с помощью сводной таблицы.
Вы можете задать заголовки строк и столбцов для группировки и получить максимум данных в части данных.