google-sheets - 如何根据特定标准选择前 10 个值?
问题描述
我想根据收入选择前十名产品,为期三周:
星期自动更改(例如,本周我有 5/27,但下周会自动更新为 6/3)。
我的数据集每周自动更新,如下所示:
我试过使用 INDEX MATCH 和 LARGE,但我不知道如何自动完成。
我希望输出是一个公式,每次我的数据集更新时都会通过增加额外的几周收入来自动更新。
任何帮助将不胜感激!
解决方案
B4:
={ARRAYFORMULA(INDIRECT("Dataset!"&ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21),
WEEKNUM(INDIRECT("Dataset!A1:"&ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4))),
ARRAYFORMULA(SUM(INDIRECT("Dataset!"&ADDRESS(2, MATCH(INDIRECT("Dataset!"&
ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21), WEEKNUM(INDIRECT("Dataset!A1:"&
ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4)),
Dataset!1:1, 0),4)&":"&ADDRESS(ROWS(Dataset!A:A), MATCH(INDIRECT("Dataset!"&
ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21), WEEKNUM(INDIRECT("Dataset!A1:"&
ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4)), Dataset!1:1, 0),4))))}
B5:
={ARRAYFORMULA(INDEX(Dataset!B1:1, MATCH(MAX(MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!B2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1,
COUNTA(Dataset!1:1)-1))), MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!A2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1, COUNTA(Dataset!1:1)-1)), 0))),
ARRAYFORMULA(SUM(INDIRECT("Dataset!"&ADDRESS(2, MATCH(INDEX(Dataset!B1:1,
MATCH(MAX(MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!B2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1,
COUNTA(Dataset!1:1)-1))), MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!A2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1, COUNTA(Dataset!1:1)-1)), 0)),
Dataset!1:1, 0), 4)&":"&ADDRESS(ROWS(Dataset!A:A), MATCH(INDEX(Dataset!B1:1,
MATCH(MAX(MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!B2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1,
COUNTA(Dataset!1:1)-1))), MMULT(TRANSPOSE(ROW(
Dataset!B2:INDEX(Dataset!A2:B, COUNTA(Dataset!A:A)-1)))^0,
Dataset!B2:INDEX(Dataset!B2:Z, COUNTA(Dataset!A:A)-1,
COUNTA(Dataset!1:1)-1)), 0)), Dataset!1:1, 0), 4))))}
B6:
={ARRAYFORMULA(INDIRECT("Dataset!"&ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21),
WEEKNUM(INDIRECT("Dataset!A1:"&ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4)))-7,
ARRAYFORMULA(SUM(INDIRECT("Dataset!"&ADDRESS(2, MATCH(INDIRECT("Dataset!"&
ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21), WEEKNUM(INDIRECT("Dataset!A1:"&
ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4))-7,
Dataset!1:1, 0),4)&":"&ADDRESS(ROWS(Dataset!A:A), MATCH(INDIRECT("Dataset!"&
ADDRESS(1, MATCH(WEEKNUM(TODAY(), 21), WEEKNUM(INDIRECT("Dataset!A1:"&
ADDRESS(1, COUNTA(Dataset!A1:1), 4)), 21), 0), 4))-7, Dataset!1:1, 0), 4))))}
E5:
=ARRAYFORMULA({
QUERY({Dataset!$A$2:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(F$3, Dataset!$A$1:$1, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(F$3, Dataset!$A$1:$1, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A$2:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(H$3, Dataset!$A$1:$1, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(H$3, Dataset!$A$1:$1, 0), 4))},
"order by Col2 desc limit 10", 0),
QUERY({Dataset!$A$2:$A, INDIRECT("Dataset!"&
ADDRESS(2, MATCH(J$3, Dataset!$A$1:$1, 0), 4)&":"&
ADDRESS(ROWS(Dataset!$A2:$A)+1, MATCH(J$3, Dataset!$A$1:$1, 0), 4))},
"order by Col2 desc limit 10", 0)})
推荐阅读
- python - 如何将列的重复值转置到新列的特定位置?
- docker - 如何从 docker 镜像启动 AWX
- javascript - 如何在 React 三纤维中创建第一人称控制?
- flutter - 使用 WebRTC 的 Flutter 视频聊天总是获得 RTCPeerConnectionStateFailed 状态
- amazon-web-services - 使用 MariaDB JDBC 客户端通过 AWS RDS 代理执行 IAM 身份验证
- ruby-on-rails - Travis CI 上没有用于系统测试的输出
- php - 尝试发布 Web 服务器 PHP,多个参数不起作用 VB
- javascript - 在一个需要
工作的功能,而不是 重定向网址 我面临一个问题
<table>
我有一个表行,它有一个重定向 URL,只有一个表数据
<td>
具有不同的功能<table> <thead> <th></th> <
- java - InstanceNotFoundException:AWS EC2 实例上的 jboss.as:subsystem=security,security-domain 零星错误
- java - Springboot更新后RestService中的重试不起作用