SmallTester
SmallTester

Reputation: 3

Google Sheets QUERY only takes 3 arguments, but this is argument number 4

=IF(A2 = "", "", QUERY({
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$J$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$F$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$H$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$K$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$O$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$S$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$W$2) - COLUMN(Equipment!$C$2) + 1)
}, "select * where Col1 <> ''"))

, "select * where Col1 <> ''" is underlined red and shows the error: "QUERY only takes 3 arguments, but this is argument number 4."
When I remove the IF part it stops showing the error. Making it all be in one line doesn't help. What am I doing wrong?

EDIT: It seems it may be a visual bug. The query processes correctly, but is still underlined red. The error stopped appearing after I ended up changing it to this:

=QUERY({
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$J$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$F$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$H$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$K$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$O$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$S$2) - COLUMN(Equipment!$C$2) + 1), "");
IFERROR(INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$W$2) - COLUMN(Equipment!$C$2) + 1), "")
}, "select * where Col1 <> ''")

Upvotes: 0

Views: 586

Answers (1)

Mike Steelson
Mike Steelson

Reputation: 15328

I don't find any mistake

=IF(A2 = "", "", QUERY({
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$J$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$F$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$H$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$K$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$O$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$S$2) - COLUMN(Equipment!$C$2) + 1);
INDEX(Equipment!$C$2:$X, MATCH(A2, Equipment!$C$2:$C, 0), COLUMN(Equipment!$W$2) - COLUMN(Equipment!$C$2) + 1)
}, "select * where Col1 <> ''"))

enter image description here

Upvotes: 1

Related Questions