这个想法是根据玩家人数,时间和/或难度级别等参数生成棋盘游戏列表。我正在使用 Google表格中的 QUERY 功能。
我有一张纸上有一个棋盘游戏的清单。他们分别为标题,最小玩家数,最大玩家数,难度和游戏时间列。
在第二张纸上,我有3个单元格,用户可以用来写玩家数(B1),难度(B2)和/或游戏时间(B3)。
这个想法是,在所有3个单元格都为空的情况下,它什么都不显示,但是您可以填写这3个单元格中的任何一个甚至全部,以过滤完整的游戏列表。
但是,如果我对所有三个参数都使用一个查询,如果任何一个为空,则会出现错误。
我通过使用多个嵌套的IF来解决此问题,该IF检查任何单元格是否为空。基于此,它会运行略有不同的QUERY函数(即,排除空单元格)。但是,这很难解决,如果要添加任何其他参数,将很难修改。
这是完整的查询:
=QUERY('Lista gier'!A1:H424;"select A,C,D,E,F where C<="&B1&" AND D>="&B1&" AND E='"&B2&"' AND F<="&B12&" AND F>=(0.5*"&B12&") AND B='Gra'");
预期的结果是正确的游戏列表,但我总是收到错误消息:
无法解析功能QUERY参数2的查询字符串:PARSE_ERROR:在第1行第24列遇到““ C””。期望其中之一:“(” ...“(” ...
答案 0 :(得分:0)
正确的语法为:
=QUERY('Lista gier'!A1:H424;
"select A,C,D,E,F
where C <= "&B1&"
and D >= "&B1&"
and E = '"&B2&"'
and F <= "&B12&"
and F >= "&0,5*B12&"
and B = 'Gra'"; 0)
假设 B1 和 B12 是数字,而 B2 是文本字符串