Хорошо, первый пункт: StackOverflow не является сервисом для написания кода.Спрашивая нас: «Эй, кто-нибудь может написать мне что-то, что делает Х?»Скорее всего, вас высмеют / ругнут / и т.д.
Тем не менее, я собираюсь помочь вам с двумя стандартными блоками, которые могут помочь вам добраться до финиша самостоятельно.
Предварительно: VBA перегружен в Excel.Excel обладает удивительно мощными способностями только в формулах.В этом случае вы можете получить то, что хотите, с нулевым кодом и только одним дополнительным (вычисляемым) столбцом.Причина, по которой это, вероятно, лучшее решение, заключается в том, что документы Excel с макросами VBA, как правило, отключаются (по очень веским причинам), и становится намного сложнее увидеть, что происходит за кулисами.С помощью вычисляемого столбца тот, кто заинтересован в копании чисел, может легко увидеть, что происходит, без необходимости углубляться в код.
Building Block # 1: функции Year и Month.
Если у вас есть столбец даты (чего у вас сейчас нет - вам нужно изменить этот столбец на что-то, что фактически представляет объект даты), вы можете получить Квартал, собрав что-то вроде:
=YEAR(A1)&"-Q"&((MONTH(A1)+2)/3)
По сути, функция YEAR () получает год, а функция MONTH () - номер месяца.Оттуда я просто использую некоторые основные математические и строковые комбинации, чтобы получить такой результат, как:
2018-Q2
Building Block # 2 - CountIf /SumIf / AverageIf
В Excel есть несколько действительно замечательных функций xxxIf (), которые будут получать среднее значение / сумму / количество / и т. Д. Для диапазона, , но только для значений, соответствующих определенным критериям..
Таким образом, в вашем случае, если вы суммируете все записи 2018-Q2, вы просто используете функцию SUMIF (), чтобы сложить все значения, где запись равна '2018-Q2'.
Надеюсь, это поможет вам в вашей задаче.Если нет, я бы посоветовал вам разбить проблему на более мелкие подзадачи, отыскать эти подзадачи в Google - и если вы не можете найти что-то для определенной задачи, задайте вопрос о просто этой части.Спрашивая: «Эй, как мне сложить три ячейки в VBA?»намного лучше, чем «Эй, напиши мне эту функцию»: -)