Формула СЧЁТЕСЛИ сдвигается вниз при добавлении строки вверху - PullRequest
2 голосов
/ 29 мая 2020

У меня в таблице Google есть следующая COUNTIF формула.

=COUNTIFS('Events/Incidents'!$E$3:$E,X4,'Events/Incidents'!$I$3:$I,"Accident")

Это образец листа, формула которого находится в первой строке под заголовком «Несчастные случаи»:

enter image description here

Он работает до тех пор, пока пользователь не добавит строку 3 в верхнюю часть исходного листа (События / Инциденты), а затем формула изменится на следующую, так что она захватит строку 4 вниз вместо желаемой строки 3.

=COUNTIFS('Events/Incidents'!$E$4:$E,X4,'Events/Incidents'!$I$4:$I,"Accident")

Я использовал функцию запроса для «Все события» (первые 3 столбца). Формула Countif находится под каждым из инцидентов. В моем примере с Countif X4 - это Сотрудник, Джон Уайт, который был возвращен в запросе QUERY.

QUERY продолжает возвращать / включать строку 3, но я не знаю, как это сделать для отдельных инцидентов. Я попытался добавить ArrayFormula к функции Countif, но у меня такая же проблема.

Буду признателен за помощь с этим.

Ответы [ 2 ]

0 голосов
/ 03 июня 2020

Я решил это, объединив Countifs с ImportRange:

=COUNTIFS(IMPORTRANGE("1-f6OU8ylDSlpqdpt4P5B7GDcIel3IboVkUbY2huMA6U","Events/Incidents!$E$3:$E"),X4,IMPORTRANGE("1-f6OU8ylDSlpqdpt4P5B7GDcIel3IboVkUbY2huMA6U","Events/Incidents!$I$3:$I"),"Accident")
0 голосов
/ 29 мая 2020

Я понимаю, что вы хотите обновить QUERY, чтобы отразить правильную строку, не прибегая к возврату Branch в каждом ответе. Если я правильно понимаю, есть способ достичь ваших целей с небольшими изменениями.

Во-первых, вам нужно будет создать именованный диапазон , который включает всю таблицу (из заголовков до последней строки). Затем вы можете использовать этот именованный диапазон в каждой формуле, чтобы новые строки могли быть обнаружены без изменения формулы как таковой.

Наконец, вы можете изменить свой QUERY, чтобы возвращать только значения Incidents в Branch с чем-то похожим на =QUERY(myNamedRange,"SELECT G WHERE A = 'Auckland'"). Этот QUERY не вернет Branch, только Incidents. Если у вас остались сомнения, попросите меня о помощи.

...