在我们日常工作中,表格经常会有非常多的数据需要我们处理,特别是财务工作中涉及到金额,并且打印时要好几页纸,要是每页纸能计算出合计数就方便阅读了。今天小编以现金收支表为例教大家如何给每页添加小计金额、最后一页再添加上总计金额。
一、3种自动小计、合计方法
上图中是某公司产品不同日期的销量和金额,然后以每自然月为小计,进行销量和金额的总计。
首先我们拉取数据区域,或者点击数据区域任意单元格,直接按下CTRL A全选。
再通过快捷键CTRL G,呼出定位框:
点击左下角的“定位条件”,进入设置界面:
找到“空值”,并点击选择,然后点击确定即可。
这样便将数据区域中空白的需求和的单元格选中。
通过我们以往学过的求和快捷键:ALT =,快速求和快捷键,便能直接得到各月份的小计求和数据。
二、Excel 宏功能自动汇总数据
使用Excel的宏功能可以实现自动化汇总数据,以下是一个简单的示例:
- 打开需要汇总数据的工作簿,并按下Alt F11快捷键打开Visual Basic Editor。
- 宏代码
一、Excel宏代码如下
Sub 汇总工作簿中各工作表数据()
Dim sht As Worksheet, rng As Range, k&, trow&
Application.ScreenUpdating = False
trow = Val(InputBox("请输入标题的行数", "提醒"))
If trow < 0 Then MsgBox "标题行数不能为负数。", 64, "警告": Exit Sub
Cells.ClearContents
Cells.NumberFormat = "@"
For Each sht In Worksheets
If sht.Name <> ActiveSheet.Name Then
Set rng = sht.UsedRange
k = k 1
If k = 1 Then
rng.Copy
[a1].PasteSpecial Paste:=xlPasteValues
Else
rng.Offset(trow).Copy
Cells(ActiveSheet.UsedRange.Rows.Count 1, 1).PasteSpecial Paste:=xlPasteValues
End If
End If
Next
[a1].Activate
Application.ScreenUpdating = True
MsgBox "数据合并完成,一共" & k & "张工作表", 0, "Excel秘籍大全"
End Sub
二、WPS宏代码
function GetShtData(){
Cells.ClearContents();//清除整表旧数据
let aRes=[],k=0;
var qwe=InputBox("请输入标题的行数");
for(let sht of Worksheets){
if(sht.Name!=ActiveSheet.Name){
let aTemp = sht.UsedRange.Value2;
if(Array.isArray(aTemp)){
if(k >0){aTemp.splice(0,qwe);};
aRes.push(...aTemp);
}
}
}
if(aRes!=false){
Range("a1").Resize(aRes.length,aRes[0].length).Value2=aRes;
}
MsgBox("数据合并完成,一共" k "张工作表",0,"Excel秘籍大全");
- 修改代码中的“产品名称”和“销售额”等字段名称,并根据实际情况修改需要汇总的数据区域的位置。
- 按下F5键或单击“运行”按钮执行宏,执行完毕后会自动在新的工作表中汇总数据。
需要注意的是,宏功能在执行过程中可能会受到Excel的安全设置限制,需要根据具体情况进行设置。同时,编写宏时应该注意代码的可读性和可维护性,以便后续修改和扩展。
评论 (0)