首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用求和函数进行索引匹配

使用求和函数进行索引匹配
EN

Stack Overflow用户
提问于 2020-11-09 06:53:51
回答 2查看 65关注 0票数 1

我有两个选项卡Product-OverviewPrices

Prices-tab上,我想添加我的数据,并在财务选项卡上获得概述。

我正在尝试使用index-match,但是如果在我的Prices-tab中有几个值在同一个月,我不确定如何求和?

我希望得到以下结果:

下面是我作为google sheet的最小可行示例:

Google Sheet

有什么建议如何做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-09 07:50:01

删除D列并在D2中使用以下内容:

代码语言:javascript
复制
=ARRAYFORMULA(IF(A2:A="";;TEXT(B2:B; "mm/yy")))

然后你可以这样做:

代码语言:javascript
复制
=QUERY(Prices!A2:D; "select A,sum(C) where A is not null group by A pivot D")

更高级的O5:

代码语言:javascript
复制
=ARRAYFORMULA(IF(O1:1="";;IF(B5:B="";;
 IFNA(VLOOKUP(B5:B; QUERY(Prices!A2:D; 
 "select A,sum(C) where A is not null group by A pivot D"); 
 MATCH(TO_TEXT(O1:T1); QUERY(QUERY(Prices!A2:D; 
 "select sum(C) where A is not null group by A pivot D"); 
 "limit 0"; 1); 0)+1; 0))*1)))

当然,B5可以是:

代码语言:javascript
复制
=SORT(UNIQUE(Prices!A2:A))

那么D5可以是:

代码语言:javascript
复制
=ARRAYFORMULA(IF(B5:B="";;"Product "&REGEXEXTRACT(TO_TEXT(B5:B); ".(\d+)")))

平均N5可以这样做:

代码语言:javascript
复制
=ARRAYFORMULA(QUERY(TRANSPOSE(QUERY(TRANSPOSE(O5:100);
 "select "&TEXTJOIN(","; 1; IF(B5:B="";; 
 "avg(Col"&ROW(O5:O)-ROW(O5)+1&")"))&""));
 "select Col2"))

在O1中生成日期,如下所示:

代码语言:javascript
复制
=ARRAYFORMULA(ARRAY_CONSTRAIN(TRANSPOSE(UNIQUE(TEXT(ROW(INDIRECT(
 DATEVALUE("1/11/2020")&":"&
 DATEVALUE("1/11/2050"))); "mm/yy"))); 1; COLUMNS(O1:1)-1))

在O2工作的年数如下:

代码语言:javascript
复制
=ARRAYFORMULA(IFNA(20&REGEXEXTRACT(O1:1; "/(\d+)")))

票数 3
EN

Stack Overflow用户

发布于 2020-11-09 07:25:51

您正在寻找的是sumifs公式:

这将解决您的问题,它不是一个数组公式,但如果您拖动它作为您想要它们移动的单元格,它就可以工作。

代码语言:javascript
复制
=sumifs(
  Prices!$C$2:$C;
  Prices!$A$2:$A;$B5;
  Prices!$D$2:$D;">="&if(isblank(N$1);date(year(O$1);month(O$1)-1;day(O$1));N$1);
  Prices!$D$2:$D;"<="&if(isblank(O$1);date(year(N$1);month(N$1)+1;day(N$1));O$1)
)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64743871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档