Excel大厂自动化报表实战(高级函数与数据连接)

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

一、高级函数(VLOOKUP函数与XLOOKUP函数)

1.打开2.4自动化报表-8月成交数据.xlsx,点击战区信息表,点击视图选项卡,点击新建窗口,接着拖拽新建窗口(可以看到工作簿分别显示在两个窗口里,并且会同步两个窗口的编辑结果,非常方便我们在同一个工作簿进行对照操作),接着我们按住win键+方向键右,将当前选中的窗口放置到屏幕右侧,然后选择左侧要放置的窗口。就实现了多个窗口的同屏展示。

现在我们要做的就是根据战区名称,将战区信息表的三列数据匹配到成交数据表上,那要如何实现这个操作呢?一个个肉眼看,然后复制粘贴肯定不行,要是有一款函数可以自动识别并匹配数据,是不是就好啦!
这款函数Excel当然有,这就是大名鼎鼎的VLOOKUP!
=VLOOKUP(查找值,包含查找值的范围,包含返回值的范围中的列号,近似匹配 (TRUE) 或精确匹配 (FALSE))
不过在开始写函数匹配数据前,我们要先把匹配的条件准备好。也就是战区这一列,怎么取出8月成交数据这个表里业务组这列的战区数据呢。用分列就好啦!
2.我们选择成交额、应收利息、逾期金额这三列,右键插入,复制业务组列,回车确认。通过分列操作取出战区,给新列命名为战区、城市、小组


3.写vlookup函数,=VLOOKUP($C2,战区信息!$A$1:$D$5,COLUMN(战区信息!B$1),0)匹配战区编号(输入第一个参数,也就是我们要查找的值,这里我们选择战区单元格,然后输入第二个参数,要进行查找的区域,选择战区信息表,然后是第三个参数,我们要返回区域内的第几列数据,这里我们先按顺序返回战区编号列,而战区编号列在区域列是第二列,可以用COLUMN(战区信息!B$1)表示2,也可以直接输入2,最后进行第四个参数,直接填0,进行精确匹配)填好后回车,这样西部战区的编号003就被正确匹配到了单元格),接着双击句柄填充函数,依次命名为战区编号、战区经理、战区等级,函数向右拉就可以依次填充。


4.复制城市信息的表头粘贴到8月成交数据战区等级右侧,删除城市名称列。此时我们不能再写vlookup函数了(vlookup函数运行逻辑是L函数,在这个L型的运行逻辑里,vlookup函数会默认在数据区域第一列查找第一个参数的数值,再向右匹配,因此作为查找条件的第一个参数必须在引用区域的第一列)。vlookup函数查找列必须在区域最左侧的第一列,无法返回查找列左侧,也就是区域外的数值,如果想要解决这个问题,必须改变数据结构,把城市名称列移动到最左侧,但是总有不能改的数据结构。我们这里有多种方法,其中可以通过Power Query解决,这将放在Power Query专栏里合并查询详细讲解,这里我们可以通过XLOOKUP函数解决!(注意XLOOKUP只有OFFICE365、Excel2021及以上版本才有)
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) 
=XLOOKUP(要查找的值,查找的区域,返回的区域,默认返回的值,默认为0完全匹配,搜索模式)
一般只用XLOOKUP前三个参数
=XLOOKUP($D2,城市信息!$B$1:$B$14,城市信息!$A$1:$A$14)


5.城市经理列填写=XLOOKUP($D2,城市信息!$B$1:$B$14,城市信息!C$1:C$14),双击填充句柄,并向右拉到平均月薪列填充函数

6.这里XLOOKUP函数除了可以返回一个单元格的数值,还能返回整行或整列
=XLOOKUP($D2,城市信息!B:B,城市信息!C:E)




这里我们还没完,我们还需要一份获客数据连接到成交数据上,关闭右侧窗口,然后ctrl+s保存进入数据连接
二、数据连接(XLOOPUP函数多条件匹配连接)
1.用excel打开获客数据发现是乱码,关闭获客数据,回到文件夹,获客数据后缀是CSV(CSV文件本质是用逗号隔开数值的文本文件).右键获客数据,打开方式选择用记事本,就能以它原本的文本格式查看到数据了(而这种文件由于只有文本信息,所以无论打开后对表格进行什么操作,CSV只保留对数值的修改),文本文件,另存为,将编码格式选择为ANSI,再次用excel打开就不会乱码了


将获客数据分屏到右侧,准备跨表格数据连接(主页Power Query专栏里追加查询也可以解决两个表格的数据合并,并且可以实时刷新数据)这里看到两份数据都是每个业务组每天一行,并且行数都是867行,应该是可以一一匹配的,但是用于匹配的数据有两列,分别为日期和业务组,之前查找的数值和区域都是单列,现在变成了双列又如何处理呢?其实很简单,我们只需要用&连接两个查找的值和区域就可以了。
XLOOPUP函数多条件匹配连接(Power Query专栏后续也会讲到多条件匹配)
方法一:直接在函数里用&连接条件,以及查找的区域
方法二:先用&连接字段,做成辅助列,再基于辅助列匹配
因为计算资源过大,可能需要手动拖拽


2.我们直接输入函数,然后查找的单元格先选日期接着输入&再选业务组,然后逗号,先选第一个查找的区域日期列接着输入&再选业务组列,逗号,最后选择要返回数值所在的一整个区域。接着复制获客数据的列名到成交数据上,然后双击填充句柄,整个获客数据的连接就完成了。(不过由于这里多条件匹配计算量过大,直接双击句柄填充可能没反应,我们手动拖拽即可)如果害怕电脑性能无法完成运算,也可以创建一个辅助列,先将查找的值和区域用&连成一列,接着再基于辅助列进行匹配就可以了。
=XLOOKUP(A2&B3,'[2.4自动化报表-8月获客数据 - 副本 (2).csv]2.4自动化报表-8月获客数据 - 副本 (2)'!$A:$A&'[2.4自动化报表-8月获客数据 - 副本 (2).csv]2.4自动化报表-8月获客数据 - 副本 (2)'!$B:$B,'[2.4自动化报表-8月获客数据 - 副本 (2).csv]2.4自动化报表-8月获客数据 - 副本 (2)'!$C:$H)



3.关闭获客数据,不保存更改,然后保存成交数据,先新建一个工作表,命名为8月成交数据-纯数值,复制连接好的数据,粘贴为值,节省Excel计算资源,再将日期列改为长日期,接着再新建一个工作表,命名为自动化周报,下一期开始自动化周报的制作。

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

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

相关文章

造成服务器宕机的原因都有哪些?

随着网络业务的快速发展,服务器对于企业的重要性也在逐渐提高,稳定的服务器能够让业务正常持续的运行,给用户带来快速的数据传输速度,但是服务器在进行长时间运行的过程中,也会出现服务器宕机等故障,本文主…

Redis 安装实践:基于鲲鹏 ARM 架构 Ubuntu 环境

文章目录 🧰 环境信息🚀 安装步骤🔧 安装并锁定版本📁 修改数据目录配置✅ 启动并验证📚 参考文档📝 小结 🧰 环境信息 系统版本:Ubuntu 20.04.6 LTS架构平台:鲲鹏 ARM&…

ubuntu 无法访问位置 error mounting 解决办法 双系统

sudo tail -n 50 /var/log/syslog 从 dmesg 的输出中,我们看到了两条关键的错误信息:深色版本[ 57.277443] ntfs3: nvme0n1p6: It is recommended to use chkdsk. [ 57.278906] ntfs3: nvme0n1p6: volume is dirty and "force" flag is n…

数据库入门:从零开始掌握核心概念

数据库基础 1.什么是数据库? 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题 文件不利于数据查询和管理文件不利于存储海量的数据文件在程序中控制不方便 数据库存储介质&#xf…

【Steel Code】8.4 PLATE GIRDER 钢板梁

文章目录 8.4 板梁 GIRDER8.4.1 设计强度8.4.2 正常使用性的最小腹板厚度8.4.3 避免受压翼缘屈曲的最小腹板厚度8.4.4 约束梁的弯矩承载力8.4.4.1 腹板不易剪切屈曲8.4.4.2 腹板易剪切屈曲 8.4.5 轴向力的影响8.4.6 剪切屈曲阻力8.4.7 中间横向腹板加劲肋8.4.7.1 间距8.4.7.2 加…

P8784 [蓝桥杯 2022 省 B] 积木画

P8784 [蓝桥杯 2022 省 B] 积木画 - 洛谷 题目描述 小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2 个单位面积) 和 L 型 (大小为 3 个单位面积): 同时,小明有一块面积大小为 2N 的画布,画布由 2N…

C++标准库大全(STL)

C标准库大全(STL) 1. 容器(Containers) *问题类型: 序列容器(std::vector, std::deque, std::list, std::forward_list, std::array, std::string): 各自的特点、底层实现、优缺点和适用场景? 容…

论文略读:Ask, and it shall be given: On the Turing completeness of prompting

ICLR 2025 5566 自从 GPT 的成功以来,大型语言模型(LLMs)彻底革新了机器学习领域,催生了所谓的 LLM 提示范式(prompting paradigm)。在这一范式下,研究者倾向于训练一个通用的大模型&#xff0…

基于springboot视频及游戏管理系统+源码+文档+应用视频

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

香港维尔利登陆韩国,联合釜山数字医疗园区打造AI健康交付平台

香港维尔利健康科技集团正式宣布,与韩国釜山数字医疗产业园区达成战略合作协议,双方将共同建设“AI健康交付平台”,推动人工智能医疗技术在韩国本土的落地转化,并建立覆盖大健康全链条的服务体系。这一合作标志着香港维尔利在东北…

OceanBase v4.3.5 特性解读:通过OSS WORM特性进行备份归档

概述 OceanBase 最新发布的V4.3.5 中,备份归档服务已适配阿里云OSS的 WORM特性,支持将配置了合规保留策略的OSS Bucket作为备份存储的目的端,有效满足用户数据安全存储与合规性的需求。 阿里云对象存储(OSS)的 WORM&…

LVS 负载均衡详解:四层转发原理与三种经典模式全面解析

文章目录 一、四层 vs 七层负载均衡:本质区别 四层 LVS 的核心特点: 二、LVS 工作原理概述 三、LVS 三种工作模式对比 模式对比总览 1. LVS-NAT 模式(Network Address Translation) 2. LVS-DR 模式(Direct Routi…

从零手写Java版本的LSM Tree (八):LSM Tree 主程序实现

🔥 推荐一个高质量的Java LSM Tree开源项目! https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree,专为高并发写入场景设计。 核心亮点: ⚡ 极致性能:写入速度超…

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…

PyTorch深度学习框架60天进阶学习计划-第57天:因果推理模型(一)

第57天:因果推理模型(一)- 揭开因果关系的神秘面纱 🎯 学习目标概览 今天我们要踏入一个既古老又前沿的领域——因果推理!如果说传统的机器学习是在找"相关性",那因果推理就是在挖掘"因果…

Java反射操作百倍性能优化

欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 有很多很多不足的地方,欢迎评论交流,感谢您的阅读和评论😄。 目录 引言避免在性能敏感的热点代码中使用反射缓存反射…

STM32 _main 里做了什么

Application startup 在大多数嵌入式系统中,进入 main 函数之前需要执行一段初始化序列来设置好系统环境。下图展示的就是这段初始化序列的默认流程: Figure 1. Default initialization sequence __main is responsible for setting up the memory and…

Java八股文——MySQL「SQL 基础篇」

NOSQL和SQL的区别? 面试官您好,SQL(关系型数据库)和NoSQL(非关系型数据库)是当今数据存储领域的两大主流阵营。它们之间不是“谁取代谁”的关系,而是两种完全不同的设计哲学,适用于…

华为OD机考-数字螺旋矩阵(JAVA 2025B卷)

public class RotateMatrix {public static void main(String[] args) {// 顺时针螺旋矩阵printMatrixV1();// 逆时针螺旋矩阵//printMatrixV2();}private static void printMatrixV2() {Scanner scan new Scanner(System.in);while(scan.hasNextLine()){String[] line scan.…

【Java工程师面试全攻略】Day7:分布式系统设计面试精要

一、分布式系统概述 分布式系统已成为现代互联网应用的标配架构,据LinkedIn统计,分布式系统设计能力是高级Java工程师薪资差异的关键因素。今天我们将深入解析分布式系统的核心理论和实践,帮助你掌握面试中的系统设计问题。 二、分布式理论…