Excel大厂自动化报表实战(互联网金融-数据分析周报制作上)

这是Excel大厂自动化报表实战第二期--互联网金融-数据分析周报制作上
数据资源已经与这篇博客捆绑,有需要者可以下载通过网盘分享的文件:2.4自动化报表-8月成交数据.xlsx,2.4自动化报表-8月获客数据.csv等2个文件
链接: https://pan.baidu.com/s/16nzy1ImOdWzmyHgKiuhiVQ?pwd=0623 提取码: 0623 

作者建议
强烈建议,在学习制作互联网金融周报制作前,先去看Excel大厂自动化报表实战第一期--高级函数与数据连接,许多知识将在制作过程中直接运用,看完第一期接下来制作才会理解更加深刻!

在接下来三期,将带大家制作只需下拉选择日期以及区域就可以筛选数据并且智能识别字段的自动化报表

前言:
Excel大厂自动化报表实战第一期--高级函数与数据连接,我们已经将获客数据导入到成交数据里,打开8月成交数据,发现安全警告:已禁止自动更新链接  启用内容
这是什么东西呢?
它提示说已经禁止自动更新链接,在Excel大厂自动化报表实战第一期--高级函数与数据连接这一期我们做成交数据的时候,我们是把获客表格的数据直接连接到了我们的成交数据上面,那么这是一个跨表格连接,像这种连接的话,如果我们不打开另外一个表格的话,那么是没有办法同步另外一个表格的数据更新的。同时一般来说会默认禁止这个更新链接的内容。所以它提示已经禁止自动更新了。如果我们要启用这个链接,就是说我们打开另外一个表格,另外一个表格有数据变动,这边要跟着更新的话,我们就要点击启用内容了。在我们未启用内容之前的话,那么之前的这个数据是不会自动更新的。当然了。我们接下来三期的制作,只需要把它叉掉即可。注意接下来引用数据的时候,我们都从纯数值表格进行引用(纯数值表格的创建详细见Excel大厂自动化报表实战第一期--高级函数与数据连接),因为成交数据里面我们做了大量的vlookup函数,并且有跨表连接,虽然跨表连接不会启用,但是我们选中用xloopup函数制作的数据时,双击拖拽都要消耗巨量的计算资源。因此如果我们自动化周报再继续基于一个也就是xloopup函数去智能识别的这个数据然后匹配过来的这么一张的表格的话,那么计算资源的消耗将相当大,很多电脑将直接会卡死。所以我们就复制一张纯数值表格过来。

一、周报制作准备阶段
1.新建一个窗口,把我们新建的窗口放到右侧(窗口的创建详细见Excel大厂自动化报表实战第一期--高级函数与数据连接),后面写函数的时候,我们就可以直接在新建的右侧窗口查看,并且选择这个列,左边窗口切回自动化周报这个表。

二、周报制作构思阶段
1.在做任何周报前,第一步肯定是要构思,周报肯定要有一个标题,那么我们的标题首先就留在第一行,在A1单元格上写:互联网金融-数据分析周报,格式统一最后调。一份报表肯定要有它的数据的时间的,在A2单元格写上数据时间。一个数据时间肯定是有起始日期,然后再到我们一个结束日期。
核心要点1:
那么起始日期怎么设置呢?
当然我们可以直接手动填起始日期,但这样手动填肯定不高级,选日期肯定更高级。那么怎么去实现日期的筛选呢?
通过制作一个日期的辅助列去实现,我们在做第一版报表的时候,可以先把这些辅助列都放到一个报表里,然后之后再去把它单独放到别的工作表隐藏起来

核心要点1解决方法:
首先我们要它打开后能够选很多日期,首先要给Excel提供这些日期,在稍微往后面一点的列去做辅助列,在U1单元格写上辅助列-日期(前面会放很多很多字段,先留好区域),U2单元格写上2020/8/1,U3单元格就是U2单元格+1(日期本身就是一个数字可以直接进行加减乘除),然后直接下拉拖拽到2020/8/31(列表里只有8月数据,所以拖拽到8月)


2.设置开始日期,点击B2单元格,点击数据选项卡-->数据验证,允许选择序列,来源我们选择我们制作的辅助列-日期,不包括列名。这里就出现了下拉按钮,这样就可以对数据进行选择了。(这样比你直接填日期方便多了).注意这里B2单元格格式改为短日期

3.因为是要做周报,数据结束日期肯定就是我们选择的开始日期+6


4.做好日期之后,接下来我们去想一想有一个战区筛选的筛选器,每个大区对应自己的数据。A3单元格写上战区,同样我们这里用数据验证的下拉列表,允许选择序列,来源我们既可以做辅助列-战区,也可以手动输入。记住这里手动输入战区名称的时候,用英文逗号隔开。这样我们用来筛选的两个单元格就做好了,后面我们是要把这两个单元格作为我们的筛选条件的

5.战区做完之后,一般一个周报日报最重要的就是监控公司的利润情况,营收情况,还有就是目标的达成程度,所以这里肯定需要有一个月目标和一个周目标。A4单元格输入月目标,A5单元格输入周目标。后面会补充月目标和周目标,再加上这个进度条。
核心要点2:
如何让月目标跟随着我们现在筛选进行变动,也就是改变战区名称,选择总和是总和目标,选择东部战区是东部战区的目标,选择西部战区是西部战区的月目标,那么这要用一个什么函数进行判断和实现呢?
显然用IFS函数进行多条件判断,当然可以直接把月目标都写下去,也可以像日期列一样做个辅助列

核心要点2解决方法:
这里我们选择用辅助列方式,然后直接用IFS函数进行多条件判断

=IFS(B3="总和",W2,B3="东部战区",W3,B3="西部战区",W4,B3="北部战区",W5,B3="南部战区",W6)
周目标一般都是月目标按照时间进度进行一个修改,周目标在我们这里等于我们月目标直接除以4就好。记得将月目标和周目标改为千位分隔样式



6.做完战区的目标之后,接下来就是周报具体数据的列。首先是日期和星期。在A7和B7分别输入日期和星期,日期对应的第一天肯定就是我们数据起始日期选择的第一天B2,后面日期跟辅助列逻辑一样+1就好了即B2+1,依次向下拉拖拽总共7天。再加上总计。星期的话,直接引用日期这一列的日期=A8,日期这列格式改为长日期,星期这列设置其它数据格式,在日期里面改为周几。





7.按照业务逻辑梳理字段(详细见tableau专栏里tableau 实战工作场景专业仪表盘的搭建(整体思路)详解)
流量:注册人数、戳额人数、给额人数、戳额率、给额率
成交:成交额、成交人数、给额成交率、注册成交率
资本:资金成本、获客成本
风险:逾期金额
利润:应收利息、前台毛利

三、周报制作数据填充阶段
核心要点3

首先看注册人数,怎么让它根据我们这里的战区和对应日期这一天进行筛选对应的注册人数?也就是这里的一天A8,比如2020/8/1这一天和筛选的战区,比如东部战区,也就是东部战区2020/8/1这一天对于我们筛选的注册人数有多少
核心要点3解决方法:
用SUMIFS函数首先筛选战区和日期
=SUMIFS('8月成交数据-纯数值'!P:P,'8月成交数据-纯数值'!$C:$C,$B$3,'8月成交数据-纯数值'!$A:$A,$A8)

核心要点4
筛选完战区和日期后,那么总和对应的数据又怎么算呢,因为成交数据里面战区列只有东部战区、西部战区、北部战区、南部战区,没有总和战区
核心要点4解决方法:
这里就要用IF函数做一个嵌套了,就是如果选总和的话,我们是不需要筛选战区的,直接基于日期进行计算的
用SUMIFS函数不筛选战区直接算总和
=SUMIFS('8月成交数据-纯数值'!P:P,'8月成交数据-纯数值'!$A:$A,$A8)

最后我们做一个嵌套,当我们B3单元格即战区筛选器选择总和的时候,直接返回用sumifs函数不筛选战区直接算总和的值,当我们B3单元格即战区筛选器选择总和之外数据的时候,直接返回sumifs函数筛选对应的战区和日期的值。
IF条件判断嵌套
=IF($B$3="总和",SUMIFS('8月成交数据-纯数值'!P:P,'8月成交数据-纯数值'!$A:$A,$A8),SUMIFS('8月成交数据-纯数值'!P:P,'8月成交数据-纯数值'!$C:$C,$B$3,'8月成交数据-纯数值'!$A:$A,$A8))
注意:记得B3单元格战区筛选要上锁以及A8单元格列要上锁

核心要点5
但是这样改列名如注册人数改为戳额人数,它是不会随着你改列名对应列的数据进行这个变动的,它没有起到自动识别的这么一个功能,让我们SUMIFS求和的列,根据我们的列名进行判断
核心要点5解决方法:
XLOOKUP函数
=XLOOKUP(X1,'8月成交数据-纯数值'!$1:$1,'8月成交数据-纯数值'!$A:$U)

发现报错,因为区域其实是没有统一的,这里面的话,其实是不能选择第一行的,我们要选择的是对应的8月成交金额这里面表头精确所在的,就是XLOOKUP它的查找区域和它的返回值的这个区域,它的这个要么宽度,要么长度它得是一致的,也就是XLOOKUP函数这里边查找区域如果选了整个一行,它会按照整个一行去找,比如'8月成交数据-纯数值'!$1:$1,U列之后虽然都是空的,但它也会参与运算,但我们选择返回的区域里面,也就是'8月成交数据-纯数值'!$A:$U是没有空对应返回的区域,那么其实也就是如果U列后面,比如V列出现了一个新的值,那后面出现了一个新的列,那后面的值就不会返回,就会报错。因此XLOOKUP函数的计算逻辑返回区域如果是A到U列,那么一开始查找的区域,那么也得是A到U,这里要查找表头,所以是A1到U1


=XLOOKUP(X1,'8月成交数据-纯数值'!$A$1:$U$1,'8月成交数据-纯数值'!$A:$U)

发现溢出了,那么这里溢出是什么问题呢?因为我们返回的区域是一整列,但是我们这里的话,我们这一列注册人数已经被占用了,即X1注册人数占用了返回的列,我们先把注册人数移开,再把函数移上去。

 其实它会把这一列整个的数全部展示出来,后面0它一直到EXCEL的最后一个单元格,因此这里你多占了一个单元格,即X1注册人数占用了返回的列,它就是溢出错误。但是这样做的话很浪费计算资源,我们发现一直到下面都是0

核心要点6
如果我们只返回注册人数的话,我们XLOOKUP函数返回区域完全不用选A到U,我们直接选A2到U867(8月成交金额数据有867行),就是我们可以选具体的区域,不用把所有的这个列全部选上,那为什么现在要全部选上呢?
核心要点6解决方法:
因为如果我们要用SUMIFS函数对它进行判断和计算的话,那么我们放进去进行计算的列,如果是XLOOKUP函数返回给它的,那么它必须是一个完整的一列。因为SUMIFS函数本质上看我们的筛选条件对应的是哪些行,然后把行的数值返回来进行计算,因此说XLOOKUP函数返回区域给SUMIFS函数的行必须是完整的,也就是从头到尾都覆盖到,把XLOOKUP函数返回区域改成是区域的,比如A2到U867,不是完整的,SUMIFS函数是会报错的。
=XLOOKUP(C$7,'8月成交数据-纯数值'!$A$1:$U$1,'8月成交数据-纯数值'!$A:$U)这就是基于我们的字段去自动识别我们就完成了

1.复制我们的字段自动识别表达式替换SUMIFS函数里的求和区域(本来我们是制定了P列也就是注册人数这一列,现在我们不指定P列了,现在我们让SUMIFS函数根据C7的这个列名字段名称到另一张到数据报表去找到它到底是哪一列),然后向下向右拖拽,复制粘贴函数,修改对应的XLOOKUP函数查找的值所对应的列头,自动填充注册人数、戳额人数、给额人数、成交额、成交人数、逾期金额、应收利息
=IF($B$3="总和",SUMIFS(XLOOKUP(C$7,'8月成交数据-纯数值'!$A$1:$U$1,'8月成交数据-纯数值'!$A:$U),'8月成交数据-纯数值'!$A:$A,$A8),SUMIFS(XLOOKUP(C$7,'8月成交数据-纯数值'!$A$1:$U$1,'8月成交数据-纯数值'!$A:$U),'8月成交数据-纯数值'!$C:$C,$B$3,'8月成交数据-纯数值'!$A:$A,$A8))

2.戳额率=戳额人数/注册人数,在F8单元格输入=D8/C8,给额率=给额人数/戳额人数,在G8单元格输入=E8/D8

3.给额成交率=成交人数/给额人数,在J8单元格输入=I8/E8,注册成交率=成交人数/注册人数,在K8单元格输入=I8/C8

4.资金成本不是已有的字段,这里资金成本=成交额*0.03,获客成本=注册人数*0.5
前台毛利=应收利息-资金成本-获客成本-逾期金额

5.计算总计列,可以用快捷键alt+等号,向右拖拽,记得比率的肯定错的,还有资金成本、获客成本、应收利息,这样的字段需要往下拖。

下一期我们将进行关键指标的计算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 网络协议演进过程

网络协议演进问题,涉及到HTTP版本之间的连接复用优化和协议升级(特别是从HTTP/2到HTTP/3)的核心变化。我们以 HTTP/1.0 到 HTTP/2.0,再到 HTTP/3.0 的演进顺序来详细解释它们在通道复用(TCP/QUIC)上的优化和…

Xsens动捕和Manus数据手套在元宇宙数字人制作中提供解决方案

硬件连接与数据传输 Xsens与Manus集成:Xsens惯性动作捕捉系统负责捕捉人体的身体动作,Manus数据手套专门精确捕捉手指动作。Xsens动捕套装上有接口或无线连接模块,可与Manus手套配对和传输数据,将身体与手指跟踪数据结合。 Face…

【Java开发日记】简单说一说使用 Netty 进行 Socket 编程

目录 什么是 Netty 对比Netty和传统的Socket 传统Socket编程服务端 传统Socket编程客户端 Netty环境搭建 先创建出来一个项目 Netty服务端程序 Netty客户端程序 Channel Channel分类 为什么选择Netty 什么是 Netty Netty是由JBOSS提供的一个java开源框架&#xff0c…

目标检测任务的评估指标mAP50和mAP50-95

mAP50 和 mAP50-95 是目标检测任务中常用的评估指标,用于衡量模型在不同 交并比(IoU)阈值 下的平均精度(Average Precision, AP)。它们的区别主要体现在 IoU 阈值范围 上。 ✅ 1. mAP50(mean Average Prec…

COHERENT XPRV23光电接收器控制软件

COHERENT XPRV23光电接收器控制软件

执行应用共享内存空间 同步QT进行快速捕获数据流

引言:本文章针对驱动的应用app,例如sensor data内容的获取,显示到QT的一种办法,共享内存。举例子,这是一个常见需求,比如摄像头采集进程与 GUI 显示进程分离,通过共享内存传输图像,避…

opencl的简单介绍以及c++实例

🧩 一、什么是 OpenCL? OpenCL(Open Computing Language) 是一个用于异构计算的开放标准,由 Khronos Group 提出和维护。它允许你在各种计算设备上(如 CPU、GPU、DSP、FPGA)并行运行代码&#…

ThingsCloud事物云平台搭建-微信小程序

ThingsCloud云平台与微信小程序设计 本文主要是介绍ThingsCloud云平台的搭建及微信小程序与app的使用。 当前文章是作为一个通用案例,介绍如何快速使用 ThingsCloud云平台 以及 利用 ThingsCloud云平台平台的框架快速设计手机APP和微信小程序。 可以快速让硬件接入,实现硬件…

2024 一带一路暨金砖国家职业技能大赛(金砖国家未来技能和技术挑战赛)

2024 一带一路暨金砖国家职业技能大赛(金砖国家未来技能和技术挑战赛任务书) 1 参加比赛的形式:2 项目阶段简介:3 项目阶段和所需时间:4 第一阶段:职业素养与理论技能4.1 项目 1.职业素养4.2 项目 2.法律法…

2025-06-13【api】阿里百炼api调用方法

通过调用各种大模型可以完成对文生文,文生图,图片理解,文生视频,音频识别,文转音频等需求。 #方法一 import os from openai import OpenAI# 初始化客户端 client OpenAI(api_keyos.getenv("DASHSCOPE_API_KEY&…

软件工程的软件生命周期通常分为以下主要阶段

软件工程的软件生命周期通常分为以下主要阶段: 可行性分析 :评估项目的技术、经济、操作和法律可行性,确定项目是否值得开发。需求分析 :明确用户需求,定义软件功能和非功能需求,形成需求规格说明书。系统…

Spring依赖注入的四种方式(面)

目录 1. 构造器注入 2. 字段注入 3. Setter注入 4. 方法注入 最佳实践建议 1. 构造器注入 Service public class UserService {private final UserRepository userRepository;Autowired // Spring 4.3 可以省略public UserService(UserRepository userRepository) {this.…

通信网络编程2.0——JAVA

一、传统阻塞式 I/O 模型 实现简易多人聊天系统&#xff1a;服务端与客户端 服务端 public class ChatServer {int port 6666;// 定义服务器端口号为 6666ServerSocket ss;// 定义一个 ServerSocket 对象用于监听客户端连接//List<Socket> clientSockets new ArrayL…

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …

Python打卡第51天

浙大疏锦行 作业&#xff1a; day43的时候我们安排大家对自己找的数据集用简单cnn训练&#xff0c;现在可以尝试下借助这几天的知识来实现精度的进一步提高 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader from tor…

Notepad++ 官方下载

https://notepad-plus-plus.org/downloads/ 下载官网 1、https://github.com/notepad-plus-plus/notepad-plus-plus/releases 2、https://notepad-plus-plus.org/news/v881-we-are-with-ukraine/

运维之十个问题--2

目录 1. 如果有ip恶意刷流量怎么办 2. 标准端口范围 3.内存16G&#xff0c;交换分区多大 4.请简述非对称加密算法&#xff0c;ping命令通过什么协议实现&#xff0c;icmp是什么协议 5.客户访问网站速度慢原因 6. 进程和线程的区别 7.zabbix监控是你搭建的吗&#xff0c;平…

vue前端面试题——记录一次面试当中遇到的题(1)

1.v-if和v-show的区别 v-if和v-show都是Vue中用于条件渲染的指令&#xff0c;但它们的实现机制和适用场景有所不同&#xff1a; v-if是真正的条件渲染&#xff0c;在条件切换时会销毁和重建DOM元素&#xff0c;适合运行时条件变化不频繁的场景&#xff1b; v-show只是通过CS…

【QT面试题】(三)

文章目录 Qt信号槽的优点及缺点Qt中的文件流和数据流区别&#xff1f;Qt中show和exec区别QT多线程使用的方法 (4种)QString与基本数据类型如何转换&#xff1f;QT保证多线程安全事件与信号的区别connect函数的连接方式&#xff1f;信号与槽的多种用法Qt的事件过滤器有哪些同步和…

Vscode下Go语言环境配置

前言 本文介绍了vscode下Go语言开发环境的快速配置&#xff0c;为新手小白快速上手Go语言提供帮助。 1.下载官方Vscode 这步比较基础&#xff0c;已经安装好的同学可以直接快进到第二步 官方安装包地址&#xff1a;https://code.visualstudio.com/ 双击一直点击下一步即可,记…