以下尝试用vba解决: 其实代码不算多,里面的技巧也只是基础,但是如果会 pandas 的同学心里肯定会说:"太繁琐了"。...这就是简洁 能够与需求表达语义相近,多余的表达越少,即越简洁 回头看 vba 的表达,多余的表达非常多。 Excel 有一个非常好用的统计工具——透视表。...如果换成是 sql ,就非常简洁 vba 的实现太麻烦了,就留给那些不服气的 vba 粉丝吧 现在你大概能够稍微理解,为什么 Python 在数据领域这么受宠了。...数据分析中的数据处理,需要你的代码赶上你的思维速度,只有简洁的语言才能做到。 按理说,sql 应该是更好的选择,但实际上很多复杂需求实现,sql 需要大量的嵌套查询,此时就一点都不简洁了。...方式非常多,除了上面的做法,还可以"生还列求和,看看是否等于记录行数" 前一个需求中使用的 filter 就是可以接受一段逻辑(函数),pandas 负责帮你分组,你只需要在函数中描述出符合条件的逻辑即可
OLEDB提供了比ODBC更多的灵活性和易用性。OLEDB服务的内部设计使得它能存取标准SQL类型的数据那样容易的访问非SQL数据存储。OLEDB的一个关键特性是它可以提供对描述性数据存储的处理。...优点:简单方便,不需要数据库操作,可直接定时导出成CVS/Excel文件 缺点:查询不方便,只能一页页人工查找Excel文件 计划功能描述: 1、点击按钮,读取数据显示在表格内 2、自动实时读取数据显示在表格内...需要采集的数据有 1、日耗电量 2、日供水量 3、日运行时间 4、日供水单耗 5、月供水量 6、月耗电量 7、月供水单耗 8、月运行时间 9、泵站编号 暂时就这么多...在RSViewSE软件里面,支持VBA脚本,其编辑器可通过选择任意对象右键>VBA代码进入 在画面内放个SE软件的按钮,进入其脚本编辑页面 RSViewSE软件的VBA脚本编辑页面 按钮的事件 选择按钮的按下事件...注意: 此阶段所做的报表只能定时导出到指定位置作为文件保存。用户并不能在SE的画面内查询报表的历史数据。 如果需要查询历史数据功能,需要数据库的参与,下一阶段将重点介绍。
前面说过,Excel本身也可以作为数据库来使用。 我们在使用VBA处理Excel数据的时候,很多时候就是对数据进行分类汇总、查找等等。一般这种功能都是使用字典来实现,比如汇总数据功能。...,比如需要按照2个甚至多个条件来分类汇总的时候,这段代码就需要进行改动了: dic(VBA.CStr(arr(i, 2))) = dic(VBA.CStr(arr(i, 2))) + VBA.CDbl(...2个条件连接起来都是ABC,可是想要的结果显然不是这样的,这个时候可能就会在2个条件连接的中间再加一个特殊的符号,用这样的方式来避免这种错误。...项目", , 1) 其他几乎所有使用ADO的都是一样的代码,一旦需要修改按2个条件汇总,只需要修改一下sql语句就可以了: Range("F1").CopyFromRecordset AdoConn.Execute...("select 条件1,条件2,Sum(数据) from [Sheet2$] group by 条件1,条件2", , 1) 仅仅是修改了一下sql语句中需要分类汇总用的字段名称,相比用字典来汇总简化了非常多
要使用Excel VBA修改MySQL数据库中的记录,可以使用ADODB.Connection对象执行SQL UPDATE语句。...使用Excel VBA删除MySQL数据库中的记录,你可以使用ADODB.Connection对象执行SQL DELETE语句。...以下是一些使用Excel VBA执行查询的示例,这些示例演示了如何检索数据库中的数据并将其显示在Excel工作表中。要运行这些示例,确保你已经建立了与MySQL数据库的连接(如前面的示例所示)。...VBA中执行查询操作,并将结果显示在Excel工作表中。...可以根据需求修改SQL查询语句和参数,以满足不同的查询需求。
没错,如果单凭VBA本身的确无法与这些流行的编程语言相比,但要知道,VBA和Excel本身可以与其他开发工具融合,也就是说,可以让VBA和Excel成为自己系统的一部分,这就显得非常牛逼了。 ?...尽管有非常多的开发工具也可以制作表格和图表,但很显然,Excel是其中最好的(主要用门槛、易用性、功能和用户基数的综合指标来衡量)。...在Python语言中,支持Excel文件格式的库非常多,如非常著名的openpyxl、xlsxwriter等。通过这些库,可以在不依赖Excel环境的情况下,生成xlsx格式的文件。...需要一根线一根线的画,而使用Excel,我不需要画线,只需要用SQL语句查询出数据,然后将这些数据发送给Excel即可。...单单用了一个Excel,速度就提高了这么多,如果系统中很多部分都使用了类似的技术,那么编程效率提高数百倍,甚至上千倍,也不是没有可能的。
前面学习了:单条件查询 VBA-ADO-SQL-002单条件查询语句 今天来学习多条件查询 也有模糊查询的知识点 ========================== ExcelVBA-ADO-SQL-...003多条件组合查询(模糊查询)语句 【问题】前提设定: 假如现在有一个提交表单,里面是N个查询的条件(工号、姓名、性别、年龄、部门、工资、奖金)用户可以只填写其中的几个条件来进行查询。...(也可以不填写条件) 【解决思想】: 1. 判断用户填入的条件参数不为null以及除去空格不为空,满足该条件后,使用sql语句拼凑。...2.解决:首先给出sql 语句前半句 strSQL = "SELECT * FROM [数据源$] WHERE 1=1" 后面的 where 1=1 是一个始终成立的条件,是为了防止用户一个条件也没有填...,那么就是查询所有 3.即使只有sql语句的前半段,也不会出现问题,再给出sql语句的后半段(后半段的存在就说明了用户填写了1~N个条件) 我们只需将这些条件拼凑起来即可!
Excel VBA操作MySQL之二——链接MySQL讲解如何在Excel VBA中建立与MySQL数据库的连接。...Excel VBA操作MySQL之六——查询记录讲解如何在Excel VBA中执行查询操作以检索数据库记录。...Excel VBA操作MySQL之十——查询示例提供一些使用Excel VBA执行查询的示例。...Excel VBA操作MySQL之十一——有关表的操作讲解如何使用Excel VBA对MySQL数据库中的表格进行操作,例如重命名、删除等。...要在MySQL中使用Excel VBA创建数据库和表格,需要使用ADODB.Connection对象来执行SQL语句。
对于笔者这样的数据分析工作者来说,对数据库有较深的掌握,当然少不了对SQL查询的深度使用,如果在编程的世界中,可以复用这样的能力,真的是一件多么令人高兴的事情。...在.Net的世界中,恰恰提供了这样的能力,用LINQ,仿佛回到了写SQL语句查询的环境中,对编辑中的使用的各种对象集合,在排序、筛选、去重等SQL语句常用的功能上,在LINQ的帮助下,一样可以对代码中的集合对象进行这些操作...所以在VBA的世界中,对某对象进行排序、筛选、去重等操作,在VSTO的世界中,使用LINQ来操作,将变得十分简单。...例如经常需要遍历单元格区域,肯定少不了For Each+IF等代码,但使用了LINQ后,真心变得很简单,特别是操作一个多列的表单结构的数据时,前面提到笔者喜欢将其转换为DataTable,因为这样的数据结构就可以用上了...结语 LINQ真的是.Net语言一个非常好用的技术,可以让代码写起来无比流畅,非常值得学习掌握,当然VBA转到VSTO开发的群体,也优先学习这个技术,让自己的代码写出来,更加.Net化,而不是简单的只是语法转换
Excel一款小小的数据处理分析小工具,蕴含了非常多的功能,大部分的功能都是提供了菜单化操作、结合鼠标、键盘快捷键,可以非常流畅地在数据海洋里遨游。...且看Sqlserver的使用和Excel有多像 Sqlserver作为一款优秀的数据库软件,其使用的群体远不像普通人所定义的那么窄,不止于专业的软件开发者、数据库管理人员DBA才会使用得上,对于普通的数据工作者...当然一般来说,熟练之后,特别是写数据查询SQL,通过右侧的编辑区敲代码完成也不难,类似我们使用Excel时,对函数写得非常熟练,不想使用函数向导直接敲函数名、函数参数的体验差不多。...像录制宏一般地自动生成SQL语句 Excel里有录制宏功能,帮助我们快速学习VBA,在Sqlserver上,同样有类似于录制宏的界面操作实际对应的SQL脚本是什么的功能。...Excel上生成多条SQL语句 复制到SSMS上脚本编辑区,点击运行即可完成 更高级别的脚本自动化 数据库有存储过程,类似Excel的VBA代码过程片段的概念,可以通过编程语言的方式,写各种复杂的逻辑处理
前言 经常听别人说 Python 数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 。...Excel 自带筛选功能,可以对表格中进行各种条件筛选。今天我们就用 pandas 看看怎么做到 Excel 的筛选功能,并且看看 Excel 也做不到的功能。...Excel 不介绍了,看看 pandas 怎么完成: - df['sex'] ,就是性别列 - df['sex']=='M' ,语义清晰,性别等于M 多条件也不在话下,"显示男性并且血型是A+",如下...: 当然,有更加简单的写法,如下: - query 方法,可以直接接受一个查询字符串,是不是很像 Sql 呢 指定多个值也很简单,"血型是A+或B-",如下: - 查询字符串可以直接用 in...想必有抬杠的小伙伴会说,既然 Excel 自带功能都有,用 pandas 干啥?当然是自动化啦。并且 pandas 中有许多功能,在 Excel 中需要用复杂的函数公式或 Vba 才能实现。
学会如何使用VBA,不仅可以更充分发挥Excel的能力,让你从不同的角度理解和使用Excel,而且会使你具备普通的Excel用户没有的更多技能。...因为正是VBA,让Excel与众不同,也让更多的人选择了Excel,已经有大量的VBA开发者且Excel开发人员也都非常喜欢使用VBA,也有大量正在使用的VBA开发的Excel应用程序和加载项。...如果VBA给Excel带来问题或者在Excel版本更新后以前使用VBA开发的应用遇到了很多问题,我想Microsoft一定会对VBA进行更新的。 取代VBA的会是谁?...---- 完美Excel社群本周内容 在知识星球App上创建的星球:完美Excel社群,于8月1日正式开通后,除每天发表至少1篇技术文章、话题或者经验分享外,还及时解答社群朋友提出的问题。...技术 连接满足条件的多个值并显示在一个单元格中 #VBA 复制文件到指定的文件夹并重命名 仅显示组成SUMIFS函数的结果的数据 同步多工作表指定区域的数据 快速给所选单元格添加前缀
要对Excel数据进行筛选,最容易想到的方法自然是Excel本身的数据-筛选功能,但是如果是要在VBA中对数据进行筛选,那么一般的做法是对数据进行循环遍历,把符合条件的数据提取出来,假如数据是这样的:...(arr) '筛选项目包含s的 If VBA.InStr(arr(i, 1), "s") Then '复制数据 arr(prow...,需要变化的代码: If VBA.InStr(arr(i, 1), "s") Then 让我们看看用ADO是如何做的: Sub ADOFilterData() Dim AdoConn As Object...where 项目 like '%s%'", , 1) AdoConn.Close Set AdoConn = Nothing End Sub 代码和前面的汇总数据、查找数据一样,仅仅是修改了sql...语句,一旦条件发生变化,也仅仅需要修改sql语句就可以,非常的简单方便。
非常多,单看这个很难掌握! 建议可以看看《ADO编程技术》这本书,讲的挺详细的。...Set AdoConn = New ADODB.Connection AdoConn.Open Provider字符串 然后就可以使用AdoConn,调用它的方法去执行sql语句来操作数据库。...Excel VBA为了方便操作,在Range对象上实现了CopyFromRecordset 方法,方便使用者直接从Recordset对象中读取数据到单元格,这是Excel VBA使用ADO来操作数据库的一个方便之处...这种使用方式的一种场景是: 需要根据某个字段的值去数据库中查找数据,如果条件数据是在数据库中的,使用Left Join操作就可以,但是如果数据是在VBA的数组中,这时候就需要用到Command,每次循环都只需要改变条件字段的值就可以...总结 初学者只要掌握一些简单的操作就可以, 连接数据库得到Connection Connection的Execute执行sql语句,update、insert等不需要返回数据的执行完了就结束 select
VBA-ADO-SQL-002单条件查询语句 【问题】有以下的数据源 输入“工号 姓名 性别 年龄 部门 工资 奖金” 其中的任一个,可以查询到数据,...Execute,这种方式比较适合无返回记录的语句,即DML语句。如果执行有返回记录的SQL语句,也可以取到记录,只是RecordCount总是反馈-1。...这种情况下可以根据rst.eof判断有无查询结果,如果rst.eof= true就表示查询结果为空 2....ActiveSheet.UsedRange.Offset(3).Clear If Len(Range("a2")) = 0 Or Len(Range("b2")) = 0 ThenMsgBox "请输入查询条件...Application.Version < 12 Then str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;ExtendedProperties=<em>Excel</em>
系列文章 "替代Excel Vba"系列(一):用Python的pandas快速汇总 "Python替代Excel Vba"系列(二):pandas分组统计与操作Excel "Python替代...本系列一直强调要善用各种工具,作为本系列的最后一节,那么这次就用一例子说明如何让Python结合Vba,直接在Excel中动态获取各种处理条件,输出结果。...输入条件,输出结果的过程在 Vba 进行。 可以随意修改汇总方式(求和、平均等)与汇总字段。 可以随意修改汇总字段和过滤条件。 所有的修改都无需改动代码。 数据源文件与显示文件是独立分开的。...其他的语句是为了防止没有输入任何查询的情况。 ---- ---- 然后再定义一个做汇总的方法。...Vba 处理 Excel输出结果等,别再让 vba 做他不擅长的事情。
等,可以做日常的取数或简单的分析(该水平已经超过90%非IT同事); 掌握并熟练使用高阶语法,比如集合、分组聚合、子查询、条件逻辑、字符串函数、算术函数、日期时间函数,并且知道MySQL、Oracle、...如果把excel类比sql,你得玩转透视表、各种函数公式,甚至VBA,才能最大效率地赋能工作。 学习SQL是有法可循的,可以从以下五个问题开始: 1. 了解什么是SQL?...SQL,全称「Structured Query Language」,即结构化查询语句,它的主要作用是设计,创建和管理关系数据库,关系数据库的表是类似excel的二维表,由行列组成,每列代表一个字段。...SQL的职责是管理二维表,通过语句来替代excel中那些图形化的命令。...SQL不能像编程语言一样,使用变量、条件逻辑、循环结构等对过程进行定义,以获得想要的结果。SQL直来直去,只要定义必要的输入输出,没有对过程的控制。 2. 怎么学习SQL?
说到去除重复,在VBA里首先想到的应该是字典的应用,在 VBA调用外部对象01:字典Dictionary(去除重复数据)里也有过介绍。...除了使用VBA外,如果只是去除Excel数据的重复,Excel内置的功能: 数据-删除重复值,这个功能其实已经非常的好用了。...如果数据非常的规范,使用VBA调用ADO也是可以方便的去除重复: Sub ADO去重() Dim AdoConn As Object Set AdoConn = VBA.CreateObject..."Provider =Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel...代码和汇总、查找数据等一样,仅仅是修改了sql语句,相比使用字典,代码更加的简单,在需要更换去重字段条件的时候,也更加的方便。
PQ 实现的进出存查询为例,进一步讲解如何通过 VBA + ADO 调用 PQ 的查询结果。...打开上一篇示例数据的 Excel 文件,选择 stock_balance 查询,点击右键菜单的【加载到】菜单: [watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10...在目标工作簿 -- 即提供 Power Query 服务的 Excel 工作表中,筛选条件界面如下: [2019092715131810.png] 所以用 sql = "UPDATE [Criteria...$A1:B3] SET F2=5 WHERE F1='month'" 表示更新的 SQL 语句。...本示例代码提供的功能: 将目标工作表的 B3 单元格值修改为 5 (月份条件) 然后对数据据模型进行刷新操作,确保获取的是最新计算的结果 将 Data Model 的计算结果写入 RecordSet 对象
领取专属 10元无门槛券
手把手带您无忧上云