找回密码
 立即注册
搜索

查找关键字符返回所在列的信息,并使用sumif引用实现汇总

30
回复
1588
查看
[复制链接]

2

主题

8

帖子

3

幻币

初入江湖

Rank: 1

积分
14
2021-11-26 12:07:00 显示全部楼层 |阅读模式
需求:“汇总表”汇总”明细表“中的数据。
存在的问题:明细表中“所属部门”、
“得分”需要不定期经常在A、B、C列中变动,无固定位置,也就是说“所属部门”“得分”这两列有时是在A列,有时是在B列,有时是在c列,这样就无法使用固定的区间进行计算,所以想要通过查找关键字,得到其现在所在的列。。
思路:
1、在明细表查找“部门”、“得分”关键字,返回其所在的列:"明细表!B:B"、"明细表!C:C"。
2、sumif(range,criteria,sum_range)
sumif函数中的range引用第1步中查找关键字“部门所在列返回的结果,sum_range引用第1步中查找关键字得分所在列返回的结果部门和得分使用第一步的结果。
不知如何实现?或是有其它方法解决。


2fa17cdd1ad98c0b28de692c82688233.png
67a0a837eaf112579a5e0bb9f0707cf2.png
test1.zip (11.74 KB, 下载次数: 78)
PPT学习论坛
回复

使用道具 举报

1

主题

11

帖子

2

幻币

初入江湖

Rank: 1

积分
10
2021-12-2 04:44:57 显示全部楼层
附件是否是你需要的?
test1.rar (12.48 KB, 下载次数: 11)
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

5

帖子

2

幻币

初入江湖

Rank: 1

积分
9
2021-12-10 21:43:20 显示全部楼层
A、B、C列随机变化的,比如
有时是名称、所属部门、得分
有时是所属部门、得分、名称
有时是得分、名称、所属部门
所以才有第1步
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

13

帖子

-1

幻币

初入江湖

Rank: 1

积分
5
2021-12-12 23:10:47 显示全部楼层
B3=SUMIF(INDIRECT("明细表!"&ADDRESS(1,MATCH("所属部门",明细表!$A$1:$C$1),1)&":"&ADDRESS(10000,MATCH("所属部门",明细表!$A$1:$C$1),1)),A3,明细表!$C$1:$C$10000)
C3=COUNTIF(INDIRECT("明细表!"&ADDRESS(1,MATCH("所属部门",明细表!$A$1:$C$1),1)&":"&ADDRESS(10000,MATCH("所属部门",明细表!$A$1:$C$1),1)),A3)
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

6

帖子

2

幻币

初入江湖

Rank: 1

积分
4
2021-12-18 19:06:13 显示全部楼层
感谢秋风荡芦苇和wisdom988热心帮助,最后我做了一个可根据字符定位的,就是不知道能不能精简,公式如下:
B3=SUMIF(INDIRECT(ADDRESS(SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*ROW(明细表!1:1)),SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE,"明细表")&":"&ADDRESS(300,SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE)),A3,INDIRECT(ADDRESS(SUMPRODUCT(ISNUMBER(FIND("得分",明细表!1:1))*ROW(明细表!1:1)),SUMPRODUCT(ISNUMBER(FIND("得分",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE,"明细表")&":"&ADDRESS(300,SUMPRODUCT(ISNUMBER(FIND("得分",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE)))
B4=COUNTIF(INDIRECT(ADDRESS(SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*ROW(明细表!1:1)),SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE,"明细表")&":"&ADDRESS(300,SUMPRODUCT(ISNUMBER(FIND("所属部门",明细表!1:1))*COLUMN(明细表!1:1)),1,TRUE)),A3)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

4

帖子

-1

幻币

初入江湖

Rank: 1

积分
2
2021-12-28 08:35:30 显示全部楼层
B3:=SUMPRODUCT(MMULT((明细表!$A$2:$C$125=A3)*1,{1;1;1})*N(+明细表!A$2:$C$125))
C3:=SUMPRODUCT(MMULT((明细表!$A$2:$C$125=A3)*1,{1;1;1}))
D3:=B3/C3
下拉。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
0
2022-1-1 22:34:08 显示全部楼层
这么标准的数据源不考虑用透视表汇总吗?
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

6

帖子

1

幻币

初入江湖

Rank: 1

积分
8
2022-1-3 18:58:06 显示全部楼层
谢谢!
透视表非常简单就可以搞定!也不用担心顺序是否变化。只是我这实际的表格还需要增删和做其它计算,透视表编辑会不方便。所以想用公式解决。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2022-1-4 18:06:59 显示全部楼层
谢谢您!
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

幻币

东方不败

积分
-3
2022-1-7 04:54:20 显示全部楼层
B3=SUMIF(OFFSET(明细表!$A:$A,,MATCH("所属部门",明细表!$1:$1,)-1,),A3,OFFSET(明细表!$A:$A,,MATCH("得分",明细表!$1:$1,)-1,))
C3=COUNTIF(OFFSET(明细表!$A:$A,,MATCH("所属部门",明细表!$1:$1,)-1,),A3)
D3=B3/C3
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册