Sql 找到一种在Google电子表格中查询不同列的方法

Sql 找到一种在Google电子表格中查询不同列的方法,sql,google-sheets,google-workspace,Sql,Google Sheets,Google Workspace,我正在为我所在学校的同事建立一种词典。我已经搜索了几个小时的答案,但是找不到 列和x:es的原因是一些单词有两个或更多的主题,并且出现在多个课程中。我的一些同事使用过滤工具很方便,而其他人则不方便 其思想是通过查询在列表中获取单词和解释。行(后)具有某种基于主题和课程的原始标记系统。同事们想从两个下拉菜单中获得帖子列表,一个是主题,一个是课程 这是电子表格的布局: | |Subject |Course | | |Word

我正在为我所在学校的同事建立一种词典。我已经搜索了几个小时的答案,但是找不到

列和x:es的原因是一些单词有两个或更多的主题,并且出现在多个课程中。我的一些同事使用过滤工具很方便,而其他人则不方便

其思想是通过查询在列表中获取单词和解释。行(后)具有某种基于主题和课程的原始标记系统。同事们想从两个下拉菜单中获得帖子列表,一个是主题,一个是课程

这是电子表格的布局:

 |           |Subject |Course  |                         |
 |Word       |Hi|Ge|Re|C1|C2|C3|Explanation              |  Concat..
 --------------------------------------------------------------------
 |Jesus      |  |  | x|  | x|  |Son of God.              |Jesus-Son ...
 |Meander    |  | x|  |  |  | x|Bends in a river.        |Meander-Bend.
 |City State | x|  |  |  |  | x|State in ancient Greece. |City State...
 |Diaspora   | x|  | x| x|  |  |The time the Jewish p... |Diaspora-The.   
如何获得两个下拉菜单(主题、课程)以从查询生成列表?我需要输出的唯一列是最后一个Concat列

这是实际的查询:

=QUERY(Begrepp!C2:BP;"select BN where [subject] = x and [course] = x ";1)

我想用两个下拉菜单中的列字母替换
主题
课程

假设您的数据在A1到I6之间。将主题的下拉列表放在K2中,将课程的下拉列表放在L2中。以M2为单位复制此公式:

=iferror(查询(数组形式)(IF((间接地址(3,匹配(K2,A2:G2,0),4)&):“&ADDRESS(100,匹配(K2,A2:G2,0),4))=“x”)*(间接地址(3,匹配(L2,A2:G2,0),4)&“&ADDRESS(100,匹配(L2,A2:G2,0),4)),$I$3:$I,”,“选择Col1,其中Col1不为null”),“无有效匹配”)

我附上一个共享的电子表格,你可以复制。它在表1上有一份您的数据的工作副本,表2有一份公式的细分,以帮助您了解发生了什么。很抱歉,不能用简单的查询完成


对不起,我不明白你的答案。也许你可以像我五岁一样向我解释?你能提供一个更好的例子吗?我不明白你在问什么。谢谢!我做了一个变通方法,在一个单元格中放置了许多if语句来从不同的列中提取所有数据:
=if(L6=“x”;“m1”;&if(M6=“x”;“t1”;&if(N6=“x”;“o1”;&if(O6=“x”;“m2”;)if(P6=“x”;“t2”;&if(Q6=“x”;“o2”;&if(R6=“x”;“m3”;&if(S6=“x”;“t3”;)&…
我将尝试您的解决方案并返回。要从我创建的选项中提取数据并创建文本,请执行以下操作:
=IFERROR(vlookup(A2;Listor!A2:B5;2)&char(10)&arrayformula(concatenate)(查询(Begrepp!A3:BP;“选择A,B,E,其中J包含“”,A2&“”,K包含“”,B2&“”;0)&char(10));“Inga Begrepp funna”)
它可以工作,但并不优雅。由于本地设置,您可能需要将“我的公式中的”“更改为”“。是的,我知道。我已经习惯了。美国使用逗号和点不正确不是我的错。;-)谢谢你@ed nelson经过一些调整后,它工作得很好。我花了一段时间才弄明白如何处理工作表引用<代码>=iferror(连接(查询(数组格式)IF((间接(“Begrepp!”)和地址(5;匹配(B2;Begrepp!F3:I3;0)+5;4)&“&ADDRESS(1000;匹配(B2;Begrepp!F3:I3;0)+5;4))=“x”)*(间接(“Begrepp!”和地址(5;匹配(A2;Begrepp!J3:AO3;0)+9;4)&:“&ADDRESS(1000;匹配(A2;Begrepp!J3:AO3;0+9;4);”字符(10)“&char(B)!”;“选择Col1,其中Col1不为null”);“Hittade inga begrepp。”)