0
Я пытаюсь разработать запрос, который должен отображать и подсчитывать данные из пула данных, соответствующего году/месяцу в данной ячейке (A106).Month, Year and Countif
Хотя такой (массив) построить работы:
COUNTIF(IF(MONTH(INDEX(Data.$A$1463:$A$1827))=MONTH(A106);Data.$B$1463:$B$1827);">0");
такой один - нет:
COUNTIF(IF(MONTH(INDEX(Data.$A$1463:$A$1827))=MONTH(A106) and YEAR(INDEX(Data.$A$1463:$A$1827))=YEAR(A106));Data.$B$1463:$B$1827);">0")
Это что-нибудь сделать об этом или это невозможно?
«SUMPRODUCT: Умножает соответствующие элементы в заданных массивах и возвращает сумму этих продуктов». Я не поймаю - в чем причина использования sumproduct(), если мне нужно отфильтровать и подсчитать _ число_ конкретных событий больше нуля и иметь тот же месяц и дату? – JanisE
Sumproduct может использоваться так же, как Countif, каждый из проверок равенства, например '(Month (Index (Data.A1463)) = месяц (A106)), приводит к TRUE или FALSE. Когда булевы применяются в арифметических операциях (например, умножении), они автоматически преобразуются в 1 или 0. Таким образом, если месяцы равны И годы равны, мы получаем 1 * 1. Все остальное производит 0. Затем Sumproduct суммирует все 1 и 0, чтобы сообщить вам количество раз, когда оба условия были выполнены в массивах. – MikeG
Другой способ сделать это - Sumproduct (- (месяц (индекс $ A $ 1463: $ A $ 1827)) = MONTH ($ A $ 106)), - (ГОД (ИНДЕКС (данные $ A $ 1463: $ A $ 1827)) = YEAR ($ A $ 106))) ' – MikeG