分享

用ChatGPT一对多查询返回所有结果

 跟李锐学Excel 2023-08-03 发布于河北

点击下方 ↓ 关注,每天免费看Excel专业教程

置顶公众号设为星标 ↑ 才能每天及时收到推送

个人微信号 | (ID:LiRuiExcel520)
微信服务号 | 跟李锐学Excel(ID:LiRuiExcel)
微信公众号 | 李锐Excel函数公式(ID:ExcelLiRui)

一对多查询是工作中经常会遇到的问题,比如下面的培训记录表中,要根据姓名返回对应的所有课程,先看下做好的效果吧。

如果我告诉你,做出这个效果无需任何函数基础,你相信吗?

今天就来教你如何利用ChatGPT的AI智能办公技术,解决这类棘手问题。

本教程内容较多,担心记不全的话,可以分享到朋友圈给自己备份一份。

除了本文内容,还想全面、系统、快速提升Excel技能,少走弯路的同学,请搜索微信公众号“跟李锐学Excel”点击底部菜单的“知识店铺”或下方扫码进入

获取

解决方案

首先登陆ChatGPT提问:

在名为“培训记录”的Excel工作表中,A列是姓名,B列是课程名称,要求你写一个Excel自定义函数,根据姓名返回对应的多个课程名称,并按照指定分隔符拼接到一起。当数据源变动时,要求自定义函数结果自动更新。

界面如下图所示:

vba代码如下:

Function ConcatCoursesByName(name As String, delimiter As String) As String    Application.Volatile  ' 告知 Excel 此函数是一个 Volatile 函数        Dim ws As Worksheet    Dim lastRow As Long    Dim i As Long    Dim coursesArr() As String        Set ws = ThisWorkbook.Sheets("培训记录") ' 替换为实际的工作表名称        lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row        ReDim coursesArr(1 To 1) ' 初始化动态数组        For i = 2 To lastRow ' 假设数据从第2行开始,如果从第1行开始,改为1        If ws.Cells(i, 1).Value = name Then            coursesArr(UBound(coursesArr)) = ws.Cells(i, 2).Value            ReDim Preserve coursesArr(1 To UBound(coursesArr) + 1) ' 扩展动态数组        End If    Next i        ' 删除最后一个空元素    If UBound(coursesArr) > 1 Then        ReDim Preserve coursesArr(1 To UBound(coursesArr) - 1)    End If        ConcatCoursesByName = Join(coursesArr, delimiter) ' 拼接成字符串并返回End Function

请按照以下步骤来创建一个新的 VBA 模块,并将自定义函数放入其中: 

1. 在 Excel 中按下 `ALT + F11`,打开 Visual Basic for Applications(VBA)编辑器。 

2. 在 VBA 编辑器中,点击 `插入(Insert)` 菜单,然后选择 `模块(Module)`。 

3. 在新创建的模块中,粘贴之前提供的自定义函数代码。 

4. 关闭 VBA 编辑器,回到 Excel 工作表。

现在,你应该可以在 Excel 工作表中的任意单元格中使用这个自定义函数了。

输入以下公式:

=ConcatCoursesByName(E2,",")

如下图所示。

如果你想将间隔符号从逗号,换成加号+也可以;

输入公式:

=ConcatCoursesByName(E2,"+")

效果如下图所示:

这样原本很复杂的问题,利用ChatGPT轻松搞定了。

这么多内容担心记不全的话,可以分享到朋友圈给自己备份一份。

更多经典的实战技能,已整理成超清视频的系统课程,方便你系统提升。

>>推荐阅读 <<

(点击蓝字可直接跳转)

VLOOKUP遇到她,瞬间秒成渣!

99%的财务会计都会用到的表格转换技术

86%的人都撑不到90秒,这条万能公式简直有毒!

最有用最常用最实用10种Excel查询通用公式,看完已经赢了一半人

以一当十:财务中10种最偷懒的Excel批量操作

为什么要用Excel数据透视表?这是我见过最好的答案

如此精简的公式,却刷新了我对Excel的认知…

错把油门当刹车的十大Excel车祸现场,最后一个亮了…

让人脑洞大开的VLOOKUP,竟然还有这种操作!

Excel动态数据透视表,你会吗?

让VLOOKUP如虎添翼的三种扩展用法

这个Excel万能公式轻松KO四大难题,就是这么简单!

SUM函数到底有多强大,你真的不知道!

长按识别二维码↓进知识店铺

(长按识别二维码)

老学员随时复学小贴士

由于有的老学员是4年前购买的课程,因买过的课程较多或因时间久忘记从哪里听课,所以专门将各平台的已购课程入口统一整理至下图。

1、搜索微信公众号“跟李锐学Excel”点击底部菜单“已购课程”,即可查看到你在各平台的已购课程,方便大家找到并随时复学课程。

2、课程分销推广的奖金也是由此公众号转账至大家的微信钱包(关注后可自动收钱,进入你的微信零钱,在微信支付有转账记录),老学员可以进“知识店铺”点击底部按钮“推广赚钱”或者“我的”-“推广中心”查询到推广奖励明细记录,支持主动提现

此外,里面还有小助手的联系方式,有问题或学习需求可以留言反馈,助手在24小时内回给到回复。

按上图↑识别二维码,查看详情

请把这个公众号推荐给你的朋友:)

今天就先到这里吧,更多干货文章加下方小助手查看。

如果你喜欢这篇文章

欢迎点个在看,分享转发到朋友圈

↓↓↓点击“阅读原文”进知识店铺

     全面、专业、系统提升Excel实战技能

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章