具有动态标准的 FILTER ARRAYFORMULA
FILTER ARRAYFORMULA with Dynamic Criteria
这是我的数据。
[C] [D] [E] [F] [G]
Timestamp Submitter Year Song Artist
11/15/2020 8:42:57 A 2005 Feel Good, Inc. Gorillaz
11/16/2020 19:08:13 B 2005 Feel Good, Inc. Gorillaz
11/15/2020 9:33:01 C 2005 The Hand That Feeds Nine Inch Nails
11/15/2020 19:59:22 D 2005 The Hand That Feeds Nine Inch Nails
这就是我想要做的。基本上,我需要从有人第二次提交歌曲时提取时间戳。看起来它应该是可行的,但下面的代码只产生一行。有没有办法让它作为数组公式正常工作?
=ARRAYFORMULA( SMALL( FILTER( C2:C, E2:E & F2:F & G2:G = E2:E & F2:F & G2:G), 2) )
抱歉,这比我想象的要容易得多。我只需要 C 列中的辅助列来计算歌曲的实例,如下所示:
=ARRAYFORMULA(IF(F2:F<>"",COUNTIFS(F2:F&G2:G&H2:H,F2:F&G2:G&H2:H,ROW(F2:F),"<="&ROW(F2:F)),""))
...然后是一个 ARRAYFORMULA(VLOOKUP()) 来提取每首歌曲的第二个时间戳值:
=ARRAYFORMULA(IF(G2:G<>"",VLOOKUP(F2:F&G2:G&H2:H&2,{F2:F&G2:G&H2:H&C2:C,D2:D},2,0),""))
虽然不确定如何一次性完成,所以如果您知道方法,请插话。
在没有辅助列的情况下尝试以下操作。
=ArrayFormula(VLOOKUP(UNIQUE(E2:E&F2:F&G2:G),{SORT({E2:E&F2:F&G2:G,C2:D},2,1)},{2,3},0))
除非我误解了什么,否则这个简单的方法应该有效:
=ArrayFormula(FILTER(C2:C,C2:C<>"",COUNTIFS(E2:E&F2:F&G2:G,E2:E&F2:F&G2:G,ROW(E2:E),"<="&ROW(E2:E))=2))
这假设每首歌曲(即不一定在所有首歌曲中)按时间顺序输入。
本质上,您是在过滤所有非空白条目,其中每行的 COUNT(IFS) 等于 2(即,第二次提到 year/song/artist)。
这是我的数据。
[C] [D] [E] [F] [G]
Timestamp Submitter Year Song Artist
11/15/2020 8:42:57 A 2005 Feel Good, Inc. Gorillaz
11/16/2020 19:08:13 B 2005 Feel Good, Inc. Gorillaz
11/15/2020 9:33:01 C 2005 The Hand That Feeds Nine Inch Nails
11/15/2020 19:59:22 D 2005 The Hand That Feeds Nine Inch Nails
这就是我想要做的。基本上,我需要从有人第二次提交歌曲时提取时间戳。看起来它应该是可行的,但下面的代码只产生一行。有没有办法让它作为数组公式正常工作?
=ARRAYFORMULA( SMALL( FILTER( C2:C, E2:E & F2:F & G2:G = E2:E & F2:F & G2:G), 2) )
抱歉,这比我想象的要容易得多。我只需要 C 列中的辅助列来计算歌曲的实例,如下所示:
=ARRAYFORMULA(IF(F2:F<>"",COUNTIFS(F2:F&G2:G&H2:H,F2:F&G2:G&H2:H,ROW(F2:F),"<="&ROW(F2:F)),""))
...然后是一个 ARRAYFORMULA(VLOOKUP()) 来提取每首歌曲的第二个时间戳值:
=ARRAYFORMULA(IF(G2:G<>"",VLOOKUP(F2:F&G2:G&H2:H&2,{F2:F&G2:G&H2:H&C2:C,D2:D},2,0),""))
虽然不确定如何一次性完成,所以如果您知道方法,请插话。
在没有辅助列的情况下尝试以下操作。
=ArrayFormula(VLOOKUP(UNIQUE(E2:E&F2:F&G2:G),{SORT({E2:E&F2:F&G2:G,C2:D},2,1)},{2,3},0))
除非我误解了什么,否则这个简单的方法应该有效:
=ArrayFormula(FILTER(C2:C,C2:C<>"",COUNTIFS(E2:E&F2:F&G2:G,E2:E&F2:F&G2:G,ROW(E2:E),"<="&ROW(E2:E))=2))
这假设每首歌曲(即不一定在所有首歌曲中)按时间顺序输入。
本质上,您是在过滤所有非空白条目,其中每行的 COUNT(IFS) 等于 2(即,第二次提到 year/song/artist)。