Excel 执行SQL查询函数

之前给大家介绍过,利用Excel内置的SQL查询引擎,来执行查询操作。通过编写SQL查询语句,可以完成Excel内置函数不能够完成的工作。带好笔纸做笔记吧,下面通过几个案例,介绍SQL查询语句的基本用法,如果有类似的工作,只需要更改几个地方就可以了。当然如果条件允许,还是建议你系统学习一下SQL语句,提升下综合技能。因为Excel内置引擎网络上资料很少,大家可以以SQLSERVER (都是微软的产品,虽有区别,但还是有很大的相通的地方的)教程为模板学习,网络上资料很多。

使用Excel进行数据处理,不外乎两种应用场景:

  • 数据匹配(数据查找)
  • 数据聚类(求和,平均,总数)

数据素材

数据素材为从GitHub上获取关于COVID-19数据集。如果大家需要素材,请留言回复“ETSQL”获取练习素材。

这里面要用到一个函数ETSQL,它是EFunction内置的函数。

 

数据素材包括全球和国内的数据

案例1:数据匹配

“国家”Sheet表格内对应的是,各个省份每天累计数据和新增数据。假如需要提取出来上海每天的数据信息。则SQL语句为:

select * from [国家$] as a where a.省份='上海市'

对于学习过SQL语句的朋友来说,Excel内置引擎,SQL语句和其他关系数据库的查询语法基本相同。对于未接触SQL语句的朋友来说,可以这样简单理解。

  • select 关键词是必须的,表示要查询一个信息关键词,每个语句必须有的。
  • from 关键词也是必须的,表示从什么地方查询,Excel表格表示从“国家”这个Sheet之中查询。
  • where 关键词也是必须的,表示是查询的筛选条件,它后面跟着的就是筛选条件,案例之中,要求“国家”Sheet表之中,省份等于“上海市”,如果有多个条件使用关键词and 或者or进行连接。

通过以上语句,就能够将上海每天的数据全部提取出来。

 

从“国家”表格之中提取出上海所有信息

如果要提取出来上海市,2020-40-20日之后所有的数据,则上述SQL语句只需要变为

  • select * from [国家$] as a where a.省份=’上海市’ and a.日期>43941。

对于熟悉MySQL或者MsSQL的朋友来说,Excel之中没有“时间”类型数据,Excel之中只有数值类型数据,Excel之中是以数字表示时间的,43941就对应2020-40-20这一天。当然在实际应用过程之中,可以使用公式进行拼接SQL语句,Excel会自动将日期转化为数字类型数据处理的。

案例之中,就是将B1和F1单元格内的数据,进行拼接到A1单元格之中,Excel自动生成SQL完整语句。

 

SQL拼接

如果学习好了SQL查询语句后,再配合ETSQL函数,Excel之中所有匹配函数就可以说拜拜了。当然SQL语句编写起来没有专用的函数方便。但SQL很适合用来进行复杂数据匹配工作,这点VLOOKUP,match等函数,是万万没有这个技能的。所以说没有最好的工具,只有适合的工具。

案例2:数据聚合(求和,平均、计数)

如果要统计上海市,每天新增人数的累加和-累计确诊人数时,这个时候,就可以应用到SQL另外一个强大的功能,数据聚合,这个功能很像Excel自带的透视表功能,这相当于透视表函数化了,我们把Excel语句写好了,只需要F9刷新数据就OK了。基本语句为

  • select sum(当日新增) from [国家$] as a where a.省份=’上海市’

上述语句通过SQL引擎的sum函数(需要注意这个sum和Excel函数SUM的区别),统计“当日新增”这个字段数据的和,条件是省份为上海市。

如果说我要统计上海市每天的平均新增人数,该怎么写:

  • select avg(当日新增) from [国家$] as a where a.省份=’上海市’

只需要把sum替换为avg求平均函数就OK了。如果要统计上海市有多少天有新增确诊记录时,则条件SQL语句为:

  • select count(当日新增) from [国家$] as a where a.省份=’上海市’ and a.当日新增>0

count函数为计数统计函数,同时添加了另外一个条件,就是添加了当日新增人数大于“0”值的数据。

以上介绍的聚合,是通过where条件来了,如果说我要统计全国所有省份总确诊人数,总不能连续写30多个SQL语句吧!

  • 正常的SQL语句为:select a.省份,sum(a.当日新增) from [国家$] as a group by a.省份

这个使用到的是group by 关键词。这个特点是不是很像Excel的透视表。group by后面相当于透视表“行”条件,select 后面相当于透视表的“列”条件,sum或者count或者avg相当于透视表的“值”

 

统计累计确诊人数

以上统计出来的结果是杂乱无章的,这个时候稍加改动就可以排序了

select a.省份,sum(a.当日新增) from [国家$] as a group by a.省份 order by sum(a.当日新增) desc

 

排好序的统计结果

order by 关键词后就是排序条件,将统计出来的 sum(a.当日新增) 进行排序,desc表示降序。如果要升序的话,可以省略或者写上asc。为了增加SQL语句可读性,建议你写上。

小结

通过以上介绍,可以知道利用ETSQL一个函数,通过不同的SQL语句,就可以完成Excel自带的函数几乎所有功能,是不是很强大。这里并不是说不用学习其他函数了,SQL语句适合用来解决复杂的问题,以下列出的案例需求,Excel单独一个函数是不能够完成的。

  • 截止到某天总确诊人数的TOP3省份
  • 匹配出来每个省份新增确认记录是哪天
  • 匹配出来大于平均值所有省份

 

ETSQL复杂统计

因为SQL是系统性知识,在这里码字确实困难。不知有无必要录制视频,来系统介绍Excel内置SQL引擎基本知识。大家如果有需要,请留言“SQL视频关键词”,告知下,同时添加关注,以免视频更新时,错过了。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/257756.html<

(0)
管理的头像管理
上一篇2025-05-01 22:19
下一篇 2025-05-01 22:20

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注