excel跳列求和,excel中跳行求和

首页 > 实用技巧 > 作者:YD1662023-05-04 07:24:06

workbook 表示的是工作簿,get.workbook(1),是一个固定的宏表函数表达式,它的作用就是提取工作表名称,结果则可以是单个值,也可以是多个值,这取决于工作表的数量。

我们可以记住这个固定表达式,但需要注意两点,一是宏表函数不能直接在单元格使用,需要通过定义名称的方式来间接应用;二是宏表函数要在excel中正常运行,需要将文件保存为“.xlsm”后缀格式的excel文件,即启用宏的工作簿。

随后我们在单元格内输入一个引用公式:INDEX(工作表名称,ROW(A1))

但它的结果是包含了工作簿名称的完整名称,如图所示:

excel跳列求和,excel中跳行求和(5)

我们知道之前用宏表函数提取的工作表名称,其结果是一个数组值,这里嵌套了ROW函数,则在向下填充公式时,可以依次提取各工作表的名称。

之后我们再套用REPLACE函数,来提取需要显示的字符串,即不带工作簿名称的工作表名。

excel跳列求和,excel中跳行求和(6)

REPLACE函数实际是一个查找替换函数,它的作用是将文本中的指定字符串替换为另一字符串。

作者通过将不需要的字符串替换为空值,而得到需要的名称。

它的表达式为:=REPLACE(文本,需替换的字符串开始位置,替换的字符个数,要替换的字符串)

我们看下上图中输入的完整公式:=REPLACE(INDEX(工作表名称,ROW(A1)),1,FIND("]",INDEX(工作表名称,ROW(A1)),1),"")

四个参数的含义如下:

第一个参数文本是index函数引用的工作表名称;

第二个参数是1,即表示从第1个字符开始;

第三个参数是FIND("]",INDEX(工作表名称,ROW(A1)),1),也是一个函数公式,表示查找“]”符号在文本中的位置,它的结果以数值表示,这里计算结果为13,也就是说从第1个字符开始,选择13个字符,而“]”符号之后,就是我们需要的工作表名;

第四个参数是"",表示的是空值,综合讲,便是将文本1-13个字符,替换成空值,剩下的字符串就是我们需要的工作表名。

得到了简洁准确的工作表名,即产品大类名称,我们便可以设置一个动态列表框。

如下图所示,在数据工具栏下点击”数据验证“,在“允许”框选择“序列”,在“来源”输入单元格引用区域。

excel跳列求和,excel中跳行求和(7)

便得到之前动图中的下拉列表显示效果。

接下来我们继续设置二级下拉列表,同样的操作,进入数据验证设置界面。

但在“来源”框中输入的不再是固定的单元格区域,而是一个通过OFFSET函数引用的动态区域。

这个公式为:=offset(INDIRECT(A2&"!a:a"),1,,COUNTA(INDIRECT(A2&"!a:a"))-1,)

excel跳列求和,excel中跳行求和(8)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.