Конвертировать пустые значения в ноль при использовании функции Query

Есть ли способ конвертировать данные, поступающие в query() функция, чтобы пустые / нулевые значения были преобразованы в ноль?

У меня есть набор данных с тремя столбцами:

Group    AC       Plan
Comms    350      [blank]
IT       50,000   85,000
Rent     15,000   15,000
Training [blank]  8,500

Я хочу запросить набор, чтобы найти разницу между AC и Plan,
например=query('data', "select A, B-C",1), Однако, так как в запросе пропущены пустые ячейки при расчете B-C, результат такой:

Group    Diff
Comms    [blank]
IT       -35,000
Rent     0
Training [blank]

Когда я хотел это:

Group    Diff
Comms    350
IT       -35,000
Rent     0
Training -8,500

Прежде чем вы начнете нервничать: я не могу изменить исходные данные (входящие данные на самом деле другой query() с использованием pivot функциональность). И причина, по которой мне нужно, чтобы это работало, я использую limit пункт, чтобы ограничить результаты только верхней 25 и нижней 25 различий.

2 ответа

Решение
=ARRAYFORMULA(IF(QUERY(T3:V7)="", 0, QUERY(T3:V7)))

Вы можете избежать ARRAYFORMULA, используя функции MAP + LAMBDA. Выглядит короче и быстрее с моим большим набором данных в Таблицах.

      =MAP(your_query, LAMBDA(X, IF(X="", 0, X)))

Думайте о X здесь как о математической переменной. Он представляет любой вывод из первого аргумента.

Другие вопросы по тегам