Google sheets 如何使用索引功能使google sheet中的过滤功能更加灵活?

Google sheets 如何使用索引功能使google sheet中的过滤功能更加灵活?,google-sheets,indexing,filter,Google Sheets,Indexing,Filter,大家好, 我有一个从a列到H列的数据范围。我希望通过匹配以下两个条件,从数据范围提取整行数据,并将其粘贴到L列到S列: B列中的名称与J列中的名称匹配 列A中的舍入与单元格L1中的舍入相匹配 为了实现这一点,我使用了FILTER函数。如果在同一轮中没有重复的名称,则效果良好。在我上面的屏幕截图中,单元格L5和L10中有错误,因为第二轮中有两个Peter。我可以知道我应该如何修改我的Filter功能,以便它可以将A8:H8范围内的数据打印到J5:S5,也可以将A19:H19范围内的数据打印到L

大家好,

我有一个从a列到H列的数据范围。我希望通过匹配以下两个条件,从数据范围提取整行数据,并将其粘贴到L列到S列:

  • B列中的名称与J列中的名称匹配
  • 列A中的
    舍入
    与单元格L1中的舍入相匹配
为了实现这一点,我使用了
FILTER
函数。如果在同一轮
中没有重复的名称
,则效果良好。在我上面的屏幕截图中,单元格
L5
L10
中有错误,因为
第二轮中有两个
Peter
。我可以知道我应该如何修改我的
Filter
功能,以便它可以将
A8:H8
范围内的数据打印到
J5:S5
,也可以将
A19:H19
范围内的数据打印到
L10:S10

我试图在公式中加入
索引
,例如:
=IFNA(索引(过滤器($A$2:$H$21,$B$2:$B$21=J5,$A$2:$A$21=$L$1),COUNTIF())
但这不是我想要的方式。希望得到一些建议。任何帮助都将不胜感激

编辑

上面的屏幕截图是使用以下公式的结果:

=query($A$2:$H$21,“其中A='”&L1&'”,0)

可以试试query()吗

或者,使用


编辑 如果您真的想查找在第J列中输入的名称,可以尝试这种复杂的解决方案

=ArrayFormula(if(len(J2:J), iferror(vlookup(J2:J&COUNTIFS(J2:J, J2:J, row(A2:A), "<="&row(A2:A)), query( {B2:B21&COUNTIFS(A2:A21, L1, B2:B21, B2:B21, row(A2:A21), "<="&row(A2:A21)), $A$2:$H$21}, "where Col2 = '"&$L$1&"'", 0), {2, 3, 4, 5, 6, 7, 8, 9}, 0)),))
=ArrayFormula(if(len(J2:J)、iferror(vlookup(J2:J)和COUNTIFS(J2:J,J2:J,行(A2:A))“是否可以尝试使用query()代替

或者,使用


编辑 如果您真的想查找在第J列中输入的名称,可以尝试这种复杂的解决方案

=ArrayFormula(if(len(J2:J), iferror(vlookup(J2:J&COUNTIFS(J2:J, J2:J, row(A2:A), "<="&row(A2:A)), query( {B2:B21&COUNTIFS(A2:A21, L1, B2:B21, B2:B21, row(A2:A21), "<="&row(A2:A21)), $A$2:$H$21}, "where Col2 = '"&$L$1&"'", 0), {2, 3, 4, 5, 6, 7, 8, 9}, 0)),))

=ArrayFormula(if(len(J2:J))、iferror(vlookup(J2:J)和COUNTIFS(J2:J,J2:J,第2行(A2:A))”如果您使用的是小型数据集,也可以使用“数据>创建过滤器”,然后在a列中选择第二轮。完成后,只需使用“日期>关闭过滤器”。这样,您就可以快速查看已过滤和未过滤的数据,而无需向右滚动

另一个想法是创建第二个工作表。命名第一个工作表数据,第二个工作表第二轮,第三个工作表第三轮,等等

然后在第1行中添加标题行

在第2轮工作表的单元格A2中输入:

=QUERY(Data!A1:H21,"where A = '"&A1&"'",0)

这将在一张单独的表格中为您提供所有第二轮数据。

如果您使用的是一个小数据集,您也可以使用数据>创建一个筛选器,然后在a列中选择第二轮。完成后,只需日期>关闭筛选器。您可以快速查看已筛选和未筛选的数据,而无需向右滚动。

另一个想法是创建第二个工作表。命名第一个工作表数据,第二个工作表第二轮,第三个工作表第三轮,等等

然后在第1行中添加标题行

在第2轮工作表的单元格A2中输入:

=QUERY(Data!A1:H21,"where A = '"&A1&"'",0)

这将在单独的工作表中为您提供所有第二轮数据。

查询功能似乎不起作用。如果我使用
=Query($a$2:$H$21,“其中a='”&L1&“和B='”&J5&“0”)
,数据范围中将有2行满足我的条件,即第8行和第19行。因此,输出将有2行。由于我将在单元格
L5
上具有另一个查询功能,因此单元格
L5
上将出现错误:
数组结果未展开,因为它将覆盖变量中L6
中的数据tab I分离出第一个countif并将其输入K2。如您所见,公式创建了在J中找到的名称的计数。在查询中使用了相同的方法。然后在vlookup中使用名称和数字来检索正确的行。LEN部分用于将输出限制为在J列中具有值的行。一个具有vlookup需要返回的列号(来自查找范围)。那么,查询的第一个元素是一个内联数组{},其中第一个元素(或列)是B2:B21&COUNTIFS(A2:A21,L1,B2:B21,B2:B21,row(A2:A21),“我用解决方案的三个主要步骤创建了一个额外的“步骤”选项卡。它可能会帮助您了解解决方案的工作原理。查询函数似乎不起作用。如果我使用
=Query($A$2:$H$21,“其中A='”&L1&“和B='&J5&“0”)
,数据范围中将有2行满足我的条件,即第8行和第19行。因此,输出将有2行。由于我将在单元格
L5
上具有另一个查询功能,因此单元格
L5
上将出现错误:
数组结果未展开,因为它将覆盖变量中L6
中的数据tab I分离出第一个countif并将其输入K2。如您所见,公式创建了在J中找到的名称的计数。在查询中使用了相同的方法。然后在vlookup中使用名称和数字来检索正确的行。LEN部分用于将输出限制为在J列中具有值的行。一个具有vlookup需要返回的列号(来自查找范围)。那么,查询的第一个元素是一个内联数组{},其中第一个元素(或列)是B2:B21&COUNTIFS(A2:A21,L1,B2:B21,B2:B21,row(A2:A21),“我创建了一个额外的“步骤”选项卡,其中包含解决方案的三个主要步骤。它可以帮助您了解解决方案的工作原理。