У меня есть лист Google, который генерирует ошибку в следующем выражении:
=query(Capacity!A5:FE135,"SELECT C,A WHERE "&SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0)+2,4),"1","")&" = '"&C2&"' AND "&SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0),4),"1","")&" = 1 ORDER BY C")
для одного конкретного входного значения (даты) в D2
.
По существу,цель кода - найти местоположение столбца даты в D2
на втором листе (Capacity) и поместить значения этого столбца на этом листе в столбец C
на текущем листе, а также выбрать только строкичто соответствует во втором столбце.Однако, если для даты задано определенное значение, выражение не будет оцениваться.
При разбиении этого массивного выражения на его составные части оказывается, что проблема вызвана этим выражением:
=SUBSTITUTE(ADDRESS(1,match(D2,Capacity!A1:FE1,0)+2,4),"1","")
, который на дату оскорбления возвращает столбец BY
.
Это означает, что выражение, вычисляемое в языке запросов API визуализации Google:
SELECT C,A WHERE BY = '' AND BW = 1 ORDER BY C
, ноязык запросов видит BY
как зарезервированное слово, а не столбец, а как barfs.
Как мне как-то избежать имени столбца, чтобы было ясно, что его следует считать именем столбца?