如何根据特定条件 select 前 10 个值?
How do I select the top 10 values based on specific criteria?
我想 select 三个不同周内收入排名前十的产品:
周数自动变化(比如这周我是5/27,但是下周会自动更新到6/3)。
我的数据集每周自动更新,如下所示:
我试过使用 INDEX MATCH 和 LARGE,但我不知道如何自动执行。
我希望输出是一个公式,每次我的数据集更新时都会通过添加额外周的收入自动更新。
如有任何帮助,我们将不胜感激!
好吧,我在分享 sheet 之前生成了一些随机数据,结果发现最好的一周是上周:
原始数据在sheet数据中:
公式:
B1
=index(Data!B1:1,COUNTA(Data!1:1)-1)
D1
=index(Data!B1:1,COUNTA(Data!1:1)-2)
F1
=ArrayFormula(index(Data!B1:1,match(max(mmult(transpose(row(Data!B2:index(Data!B2:B,counta(A:A)-1)))^0,Data!B2:index(Data!B2:Z,counta(A:A)-1,counta(Data!1:1)-1))),
mmult(transpose(row(Data!B2:index(Data!A2:B,counta(A:A)-1)))^0,Data!B2:index(Data!B2:Z,counta(A:A)-1,counta(Data!1:1)-1)),0)))
A3
=sortn({Data!A2:A,index(Data!B2:Z,0,counta(Data!1:1)-1)},10,0,2,false)
C3
=sortn({Data!A2:A,index(Data!B2:Z,0,counta(Data!1:1)-2)},10,0,2,false)
E3
=sortn({Data!A2:A,index(Data!B2:Z,0,match(F1,Data!B1:1,0))},10,0,2,false)
È=21=ШБЧ:È=17=Èт
w=10=sh
w=21=B5:w=17=sh
w=11=sh
w=21=ШБШ:w=17=sh
w=12=st
w=21=E5:
=ARRAYFORMULA({
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(F, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(F, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(H, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(H, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(J, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(J, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0)})
我想 select 三个不同周内收入排名前十的产品:
周数自动变化(比如这周我是5/27,但是下周会自动更新到6/3)。
我的数据集每周自动更新,如下所示:
我试过使用 INDEX MATCH 和 LARGE,但我不知道如何自动执行。
我希望输出是一个公式,每次我的数据集更新时都会通过添加额外周的收入自动更新。
如有任何帮助,我们将不胜感激!
好吧,我在分享 sheet 之前生成了一些随机数据,结果发现最好的一周是上周:
原始数据在sheet数据中:
公式:
B1
=index(Data!B1:1,COUNTA(Data!1:1)-1)
D1
=index(Data!B1:1,COUNTA(Data!1:1)-2)
F1
=ArrayFormula(index(Data!B1:1,match(max(mmult(transpose(row(Data!B2:index(Data!B2:B,counta(A:A)-1)))^0,Data!B2:index(Data!B2:Z,counta(A:A)-1,counta(Data!1:1)-1))),
mmult(transpose(row(Data!B2:index(Data!A2:B,counta(A:A)-1)))^0,Data!B2:index(Data!B2:Z,counta(A:A)-1,counta(Data!1:1)-1)),0)))
A3
=sortn({Data!A2:A,index(Data!B2:Z,0,counta(Data!1:1)-1)},10,0,2,false)
C3
=sortn({Data!A2:A,index(Data!B2:Z,0,counta(Data!1:1)-2)},10,0,2,false)
E3
=sortn({Data!A2:A,index(Data!B2:Z,0,match(F1,Data!B1:1,0))},10,0,2,false)
=ARRAYFORMULA({
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(F, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(F, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(H, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(H, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(J, Dataset!$A:, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(J, Dataset!$A:, 0), 4))},
"order by Col2 desc limit 10", 0)})