google-sheets - Google 表格查询:仅在不同的列中返回所有行数据
问题描述
我目前有一个查询返回特定列匹配某些条件的所有数据,但我也想防止从 column1 返回重复数据。
一个 | 乙 | C | D |
---|---|---|---|
1 | X | 是的 | z |
1 | X | z | X |
2 | r | z | w |
3 | q | 是的 | z |
4 | q | 吨 | q |
4 | q | 你 | r |
到目前为止: =QUERY(A:D, "SELECT * WHERE B = 'x' OR 'q'")
回报:
一个 | 乙 | C | D |
---|---|---|---|
1 | X | 是的 | z |
1 | X | z | X |
3 | q | 是的 | z |
4 | q | 吨 | q |
4 | q | 你 | r |
我怎样才能删除A列中的重复项?所以它显示如下:
一个 | 乙 | C | D |
---|---|---|---|
1 | X | 是的 | z |
3 | q | 是的 | z |
4 | q | 吨 | q |
解决方案
有很多方法可以解决这个问题。鉴于您的确切帖子信息,它运行 A:D 没有标题,这是一种方法:
=ArrayFormula(UNIQUE(IFERROR(VLOOKUP(FILTER(A:A,ISNUMBER(SEARCH(B:B,"q|x"))),A:D,SEQUENCE(1,COLUMNS(A:D)),FALSE))))
FILTER
仅由 A:A 中的那些项目构成一个有限数组,其中 B:B 中的相应值存在于SEARCH
条件字符串中。
VLOOKUP
查找并返回所有四列的值,这将返回FILTER
ed A:A 值中每个相等值遇到的第一行值。这将导致每个匹配行的完全相同的信息。
我曾经SEQUENCE
返回一个数组,要求从请求的范围中返回第 1、2、3、4 列。此参数可以输入为{1,2,3,4}
。但我发现SEQUENCE
更灵活,例如,如果在您的实际工作表中您想要返回 12 列而不仅仅是 4 列。
UNIQUE
消除重复。
而且,当然,ArrayFormula
这是必要的,因为我们正在处理一系列值。
推荐阅读
- javascript - JavaScript:需要帮助访问 API JSON 数据
- python - Cumsum 与 groupby 用于日期累积
- python - 在 Sympy 中使用 lambdify 将具有复指数的表达式转换为函数
- python - 如何将命令中的值保存到 .json 中?
- javascript - 如何在 ReactJS 中添加类名“活动”
- .net - 将带有 ref 变量的 SOAP api 转换为 RESTFUL api 的最佳方法
- java - JavaFX如何在某个阶段大小后禁用调整大小
- php - 无法使用 Wordpress 编辑器编辑 functions.php,但可以编辑其他文件,例如 CSS 和页面
- java - CentOS7 hadoop wordcount 退出代码为 127
- kotlin - 应用插件请求时发生异常 [id: 'org.openjfx.javafxplugin']