Круглая скобка в данных «взлом» формулы QUERY / TEXTJOIN - PullRequest
0 голосов
/ 08 января 2020

Эта формула опускает результаты, содержащие круглые скобки. Я пытался SUBSTITUTE 'вставить скобки с CHAR(40) & CHAR(41) безрезультатно. Я пытался изменить QUERY с MATCHES на =, а также CONTAINS, и ни один из них, похоже, тоже не работает.

Есть ли какое-то простое / очевидное решение, позволяющее избежать этих скобок, которые я пропускаю?

Массив, содержащий данные, содержащие скобки, X4:X.

=QUERY({'List 3v3 Teams'!B1:J},"SELECT Col1,Col9 WHERE Col1 matches '"&TEXTJOIN("|",TRUE,X4:X)&"' AND NOT Col1 matches '"&TEXTJOIN("|",TRUE,Setup!A3:A52)&"' AND Col1 IS NOT NULL AND Col2 IS NOT NULL ORDER BY Col9 DESC",1)

Мой лист - формула в предложении! AA3

РЕДАКТИРОВАТЬ: Вместо этого используется FILTER. Но я все еще хотел бы знать, как преодолеть проблему с круглыми скобками.

=UNIQUE(FILTER({'List 3v3 Teams'!B2:B,'List 3v3 Teams'!J2:J},COUNTIFS(X4:X,'List 3v3 Teams'!B2:B),NOT(COUNTIF(Setup!A3:A52,'List 3v3 Teams'!B2:B))))

1 Ответ

2 голосов
/ 08 января 2020

Я бы определенно go применил решение для фильтрации, но, поскольку вы заинтересованы в адаптации запроса, вы можете попробовать удалить скобки с помощью regexreplace. Это должно дать тот же результат, что и функция filter () ...

=unique(ArrayFormula(QUERY({regexreplace('List 3v3 Teams'!B1:B,"\(|\)",) , 'List 3v3 Teams'!B1:J},"SELECT Col2,Col10 WHERE Col1 matches '"&TEXTJOIN("|",TRUE,REGEXREPLACE(X4:X,  "\(|\)",))&"' AND NOT Col1 matches '"&TEXTJOIN("|",TRUE,Setup!A3:A52)&"' AND Col1 <>'' AND Col3 IS NOT NULL ORDER BY Col9 DESC",1)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...