Vid*_*dal 17 filter google-sheets google-sheets-formula
我有一张Google电子表格,其中包含2012年欧洲足球锦标赛的球队及其得分:
Team Points Goals scored
------ ------ ------------
Germany 6 3
Croatia 3 3
Ireland 0 1
... ... ...
Run Code Online (Sandbox Code Playgroud)
现在我想过滤该列表,以便结果只包含所涉及团队的子集.具体来说,我希望结果列表只包含德国,荷兰,葡萄牙,意大利,英国,法国,西班牙和克罗地亚的团队.
我知道我可以使用该FILTER函数从表中提取单个值.因此,我可能会写一个FILTER表达式,=FILTER(A2:C; A2:A = 'Germany' OR A2:A = 'Netherlands' OR A2:A = 'Portugal' OR ...)但我想避免这种情况,因为团队列表有点动态.
所以问题是:我如何通过一系列值过滤表- 而不仅仅是单个值?
Gre*_*reg 46
对于那些偶然发现这个帖子的求职者来说,请看这个谷歌产品论坛页面,其中Yogi和ahab都提出了如何通过其他数据范围过滤一系列数据的问题的解决方案.
如果A3:C包含要过滤的UEFA EURO 2012数据范围,并D3:D包含要过滤的团队列表,则E3...
=FILTER(A3:C, MATCH(A3:A, D3:D,0))
Run Code Online (Sandbox Code Playgroud)
要么
=FILTER(A3:C, COUNTIF(D3:D, A3:A))
Run Code Online (Sandbox Code Playgroud)
相反,如果您想按未列出的团队进行过滤D3:D,那么E3......
=FILTER(A3:C, ISNA(MATCH(A3:A, D3:D,0)))
Run Code Online (Sandbox Code Playgroud)
要么
=FILTER(A3:C, NOT(COUNTIF(D3:D, A3:A)))
Run Code Online (Sandbox Code Playgroud)
这是我为展示这些功能的有效性而制作的示例电子表格.
FILTER=FILTER(A1:A, MATCH(A1:A, B1:B, 0))\n\n=FILTER(A1:A, COUNTIF(B1:B, A1:A))\n\n=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))\n\n=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))\nRun Code Online (Sandbox Code Playgroud)\n如果您需要使用FILTER公式返回两个范围之间的计算,并且这两个范围具有不同的大小(就像从查询返回它们时一样)并且无法更改以匹配相同的大小,并且您会收到FILTER has mismatched range sizes. Expected row count: etc.错误,那么这是一个解决方法:
为了简单起见,假设您的过滤器范围是A1:A10和B1:B8,您可以使用数组括号{}在范围上附加两个虚拟行,B1:B8以匹配大小A1:A10,方法是使用REPT其中所需的重复次数应由初始范围之间的简单计算。
那么对于这个REPT公式,我们需要添加 +1 作为校正/故障保护(在两个初始范围之间的差异为 1 的情况下),因为REPT至少需要 2 次重复。所以从某种意义上说,我们需要创建一个B1:B11(from B1:B8) 的范围,稍后我们将从范围中修剪掉最后一行,这样它就会B1:B10反对A1:A10。我们将使用 2 个独特的符号REPT
下一步是包裹REPT并SPLIT除以第二个唯一符号。然后,(根据进一步的需要)SPLIT需要将其包装到TRANSPOSE(因为我们希望将列大小与列大小相匹配),最后一步是通过简单的数学运算将其再次包装到输出中QUERY并从中取出,以修剪上次报告。把它放在一起看起来像这样:limitCOUNTA(A1:A10)
=FILTER(A1:A10, NOT(COUNTIF(QUERY({B1:B8; \n TRANSPOSE(SPLIT(REPT("\xe2\x99\x82\xe2\x99\x80", COUNTA(A1:A10)-COUNTA(B1:B8)+1), "\xe2\x99\x80"))}, \n "limit "&COUNTA(A1:A10), 0), A1:A10)))\nRun Code Online (Sandbox Code Playgroud)\n\n
| 归档时间: |
|
| 查看次数: |
40662 次 |
| 最近记录: |