暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

重磅更新!在Excel中执行SQL查询,CSV/TXT/工作表数据随心JOIN

数据打工人的自我修养 2025-10-10
23

本插件功能基于VBA开发,仅需简单配置插件,用户即可在Excel中执行 SQL 查询,支持跨 Excel 工作表与文本文件(TXT/CSV)数据关联查询、对Excel指定区域单元格进行查询,比如:[数据表名称$E3:F10]。

插件获取,账号后台回复关键字“插件”,插件使用请参考如下文章插件配置内容块:

让Excel听懂人话!AI插件助力高效办公,函数、图表、数据洞察全搞定

功能区界面如下:

SQL查询界面:



使用说明:

  • 功能区点击“SQL查询”按钮弹出SQL窗体,数据源自动加载已经打开工作簿的表信息。其他工作簿数据源可点击添加数据按钮添加。

  • 如果需要对txt或者csv进行查询,点击添加数据按钮添加对应的文件。

  • 数据源中的分隔符及包含表头选项仅对txt或者csv有效,默认英文逗号分隔,包含表头。务必按文件情况配置。(执行时会自动在文本目录下生成schema文件)

  • SQL编辑框编写SQL,点击右下角执行SQL按钮执行SQL即可,表名使用[]包裹。


SQL样例生成(可供参考):

1. 双击数据源表可以生成简单的sql查询样例

2. 复选框可以选择生成sql样例

样例sql如下:
区域引用表名后面必须带$符号,比如:[销量$E5:F10]
txt或者csv数据源必须带上文件txt/csv后缀。比如:[score.txt]、[score.csv]
    select t1.产品ID,T1.销量,t1.单价,t2.销售额 
    from (
      select t1.产品ID,T1.销量,T3.F2 AS 单价
      from [销量$e5:f10] t1   -- 区域引用表名后面必须带$符号
      left join [score.csv] t3
      on t1.产品ID=T3.F1
    ) t1 
    left join [销售额] t2   -- 不是区域引用,没有$,程序会自动添加上$符号
    on t1.产品ID=T2.产品ID

    查询结果保存位置:

    默认当前工作簿,可选“新建文件”保存到工作簿所在目录下的csv文件。

    收藏夹功能:

    注意事项:

    • Excel 表名在 SQL 中需加 $ 符号(如 [Sheet1$])

    • 要查询的数据表必须确保数据源中有,如无(比如txt/csv),请先添加该数据源。

    • 文本文件必须配置表头和分隔符选项,无表头时,字段默认命名为 F1、F2...

    • 日期值需用双 # 包裹表示,不要带引号,如 #2025-1-1#)

    • 多表连接使用嵌套子查询方式

    • SQL函数支持有限,具体请参考样例SQL复选框中的“常用函数”

      -- 常用函数样例 - 展示常见函数及日期使用
      -- 假设数据源表名为[数据表格]或[数据表格$](Excel工作表)
      SELECT 
          F1 AS 产品名称, 
          F2 AS 销售金额, 
          F3 AS 销售日期,
          '--- 字符串函数 ---
          UCase(F1) AS 产品名称大写,     --  转换为大写
          LCase(F1) AS 产品名称小写,     --  转换为小写
          Len(F1) AS 产品名称长度,       -- 字符长度
          -- --- 数值函数 ---
          Round(F2, 2) AS 金额四舍五入,  --  四舍五入到2位小数
          Abs(F2) AS 金额绝对值,         -- 绝对值
          Int(F2) AS 金额取整,           -- 向下取整
         -- --- 日期函数 ---
          Year(F3) AS 销售年份,          -- 提取年份
          Month(F3) AS 销售月份,         --  提取月份
          Day(F3) AS 销售日,             --  提取日
          --  格式化日期
          Format(F3, 'yyyy-mm-dd') AS 格式化日期,  
          -- 计算日期间隔天数
          DateDiff('d', F3, Now()) AS 距离今天天数,   
         -- --- 聚合函数示例 ---
          (SELECT SUM(F2) FROM [数据表格]) AS 总销售金额 -- 子查询计算总金额
      FROM [数据表格]
      WHERE F2 > 0 and F3>=#2025-1-1#    -- 筛选25年后的数据
      ORDER BY F3 DESC


      相关文章:

      Excel 高效办公:30 个实用的自定义函数

      让Excel听懂人话!AI插件助力高效办公,函数、图表、数据洞察全搞定

      一键触发:为您的Excel定制功能赋予快捷键

      Excel功能区定制教程:打造你的专属效率工具

      零部署本地SQL神器:基于DuckDB的文件直查GUI,千万数据秒级分析

      挑战你的SQL基本功:NULL和JOIN,你真的会用吗?

      SQL跑不动?数据倾斜惹的祸!全场景优化方案大揭秘

      数据分析核心技能:指标异常界定与根因定位的框架拆解

      Spark/Hive避坑指南:GROUPING SETS与COUNT(DISTINCT)的膨胀机制解析及优化



      >>>>>>>>>> ✧ END ✧ <<<<<<<<<<  
      感谢您的阅读!
      点击下方链接关注,持续为您呈现更多内容~

      文章转载自数据打工人的自我修养,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论