给定给定列的值,选择excel表的子集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定给定列的值,选择excel表的子集相关的知识,希望对你有一定的参考价值。

我在excel中有一个表,如下所示:

col1 col2
A    1
B    0
A    2
B    2
B    3

我无法找到一种方法来选择表格的子集,就像使用excel函数一样。

col11 col22
B    0
B    2
B    3

基于列"B"的值col1或者只能从给定子集中选择col22'

我想有一个不需要VBA和数组公式的解决方案。我在互联网上找到了功能FILTER,但它还没有,Structured References没有这样的功能。

我想将结果col22用作电子表格另一个地方的列。其他语言如R,提供了一个函数subset,它以一种非常简单的方式完成。在excel中,使用Excel界面(过滤器按钮)进行过滤非常容易,但我不知道以编程方式执行类似操作的函数。

答案

假设col1为A且col 2为B且结果集的col1和col2分别为E和F,请在C列中尝试此公式:=IF(A2=$E$2,MAX($C$1:C1)+1,0)

现在,在单元格E2中(我离开标题的第一行),我物理地键入“B”以使其成为输入源并允许动态报告。对于你想要的下面的多个单元格,下面的公式将只显示输入源中的“B”的总数:=IF(ROW(A2)>MAX(C:C),"",E2)注意我没有用$修复单元格,因为你的后续行取决于前者。

单元格F2(结果集的col2字段的顶部)包括:=INDEX(B:B,MATCH(G2,C:C,0))和G2放置:=IF(E2="","",G1+1)并将两者都向下复制到E列(或结果集col1)中的公式。

IF语句的原因是格式化而不是在失败的查找上显示错误。

以上是关于给定给定列的值,选择excel表的子集的主要内容,如果未能解决你的问题,请参考以下文章

使用 DB2,您如何为一列选择具有 MAX 的行,然后在同一张表的另一列的结果子集中选择具有 MAX 的行?

给定一个索引列表,在这些索引处修改 pandas 系列的一个子集

PySpark:转换DataFrame中给定列的值

SQL - 为给定列中的值获取另一列的值

通过替换给定列的值来显示表中的行

SQLAlchemy - 从自动加载表的内部连接映射列的子集