首页 > 其他分享 >浅谈我们在处理Excel的数据原则, 其实学习并没有你想的那么难

浅谈我们在处理Excel的数据原则, 其实学习并没有你想的那么难

时间:2022-10-28 10:05:03浏览次数:53  
标签:浅谈 重复 Excel 学习 处理 数据 我们 字典

写在前面:Excel VBA处理重复数据的方法

Excel-VBA中处我们在处理Excel数据时,很多时候都可以分为三个步骤,读取整理数据、计算构造输出数据、输出结果。

前者和后者会和Excel工作表交换处理数据,而中间的那个步骤则是在计算机内存中处理完成。

我们知道原数据的结构决定了算法,也就是说第一步的读取整理数据决定了中间的计算和后面的输出的代码难易度。 所以我们在设计源数据的时候,应该注意源数据的结构是否合理.

PS:这里我想说一下良好的编程习惯应该具有以下两点:

a.遵循一定的变量命名规则。每个人都会有自己的命名习惯,但我想说的是让这种习惯遵循一定的规则,并尽可能的让它表达自身的含义。

b.编写代码尽量写成一个模块,拎出来单独写个过程或是函数,其好处不仅仅是避免重复的代码,更大的好处是让你可以更为专注的解决一个相对独立的功能而不用去考虑全局的情况

给这个过程起一个恰当的名字,同样会让你的代码更容易看懂,让你的代码会说话。

今天和大家聊聊在Excel中如何使用VBA处理重复的数据的几种方法.

Excel数据处理的过程中,我们常常会遇到某个表格存在重复数据。但是在大多时候,我们常常需要这些重复数据进行处理,得到我们所需要的数据。

我们还来举一个例子,下图的数据我们其实非常常见,具体如下图所示

浅谈我们在处理Excel的数据原则, 其实学习并没有你想的那么难_重复数据

那么我们的问题就来啦!请看题:

假设我们要计算在职人员的所在的部门数量,我们应该怎么计算呢?同时还需要计算各部门的的人数分别是多少人?下面我们一步一步来实现。

按照前言所说,我们分析以上的数据发现,这个源数据的结果单一,数据十分规范,有规律.

我们处理数据首先就是读取数据,读取数据也就是我们常说的将Exce写入到计算机内存,在这个位置我们就想到的利用数组,将源数据区域写入内存.

我们选择合适方法,进行数据处理.我们想到的是利用字典的关键词数据不重复性,完成数据处理.

最后就是输出我们结果,也就是我们将处理过的数据,重新写入到表格中.

至此我们处理数据的三部曲是不是得到完整的体现.我们现在来看看具体的操作过程.

PS:我们主要利用字典,利用字典key不重复的特性,我们将省份存入字典中

我们看看执行后的结果:

黄色高亮区域即为我们利用字典的特性,将部门加入我们的字典当中,然后对重复的部门进行项的累加,从而达到计算重复的个数.当然我们也可以计算部门的工资的总额.

浅谈我们在处理Excel的数据原则, 其实学习并没有你想的那么难_数据_02

附上代码:

Sub test()

字典前期绑定写法

Dim d As New Dictionary

Dim arr, i&

清除H和I列的值

[h:i].ClearContents

将数据的单元格区域直接赋值给数组arr

arr = Range("a2:f15")

利用循环将字典特性,将部门的关键词写入到字典中,然后对他的项进行累加计算.

For i = 1 To UBound(arr)

这句话的意思就是,如果字典不存在这个部门的关键词,则将这个关键词写入到字典中.如果字典中已经存在这个关键词的话,则对他的项进行累加计算.也就是我们老生常谈的K=K+1.

d(arr(i, 2)) = d(arr(i, 2)) + 1

Next

写入标题

[h1].Resize(1, 2) = Array("部门", "人数")

在H列赋值我们字典中的所有关键词

[h2].Resize(d.Count) = Application.Transpose(d.Keys)

在H列赋值我们字典中的所有项

[i2].Resize(d.Count) = Application.Transpose(d.Items)

End Sub


写在结尾:

看了上面,你是不是发现利用字典和数组处理数据的重复计算,是不是如此简单!

其实我们学习Excel VBA没有那么难,他只能是算是解释型编程语言。所以如果你还是在是否学习犹豫不前,请不用担心,大步向前走吧!

PS:学习的苦难需要我们主动面对,生活的苦难你躺着它自己主动就过来啦!与君共勉之!!!

以上就是今天要和大家分享的技巧,希望对大家有所帮助,祝各位一天好心情!


如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。


标签:浅谈,重复,Excel,学习,处理,数据,我们,字典
From: https://blog.51cto.com/u_15705258/5803073

相关文章

  • 你还在为英语单词学习烦恼吗?别担心,只需1分钟Excel就可帮助您
    Hi,大家好,本专栏将会从零开始和大家用图文的方式,让你从零基础学会VBA!有兴趣的小伙伴可以持续关注我,或者在专栏自我查看学习,愿与君携手共进!我们一直在说零基础学习VBA,那么有的......
  • Excel VBA 从零到一,零基础学会
    什么是VBA?我们为什么要学习VBA?VBA是VisualBasicForApplication的简称,VBA是建立在Office办公软件中的一种应用程序开发工具,你只需知道这个就足够了,他可以使你的工作效率......
  • 如何用界面组件DevExpress WPF创建Excel式的过滤功能?赶紧Get
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专......
  • excel 批量合并小技巧
     一、批量分割同一个单元格内的内容 1.复制单元格内规则内容2.粘贴到右侧目标单元格3.单击目标单元列4.ctrl+e该方法对不规则长度内容有断字BUG,需要仔细核对二、批量增......
  • html-常用样式或脚本的学习笔记
    (一)CSS样式相关1.禁止拖动图片img{-webkit-user-drag:none;}2.去除select默认下拉图标.select{appearance:none;-webkit-appearance:none;......
  • 【761】机器学习特征重要性分析以及特征相关系数热力图
    参考:数据科学|避坑!Python特征重要性分析中存在的问题参考:python特征相关性热力图怎么画_如何在python中绘制热地图(实例)python特征相关性热力图怎么画_如何在python中绘......
  • 自动化测试框架遇到的错误-python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORM
    python的xlrd读取Excel数据失败:raiseXLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+’;notsupported’)xlrd.biffh.XLRDError:Excelxlsxfile;notsupported......
  • vulnhub-DC1-学习记录
    前言靶机下载地址:DC-1渗透机:kali2022.1192.168.85.131目标拿到5个flag官方描述信息收集1.获得目标的ip(我们这是黑盒测试所以通过mac地址来确定目标ip)首先查看我们......
  • 2022-10-27学习内容
    1.案例-找回密码-登录逻辑1.1LoginMainActivity.javapackagecom.example.chapter05;importandroidx.activity.result.ActivityResult;importandroidx.activity.re......
  • docker学习笔记
    @目录前言1docker简介1.1是什么1.1.1为什么会有docker出现1.1.2docker理念1.2容器与虚拟机比较1.2.1容器发展简史1.2.2传统虚拟机技术1.2.3容器虚拟化技术1.2.4......