Excel居然会自动写公式、写VBA代码,再也不用傻傻的去记了,真爽!
有粉丝留言,让卢子聊一下使用ChatGPT的体验,发布一些教程,让没接触过的人更好的认识AI。
如果第一次使用AI,可以先看文章:亲测有效!免费使用ChatGPT,最简单的方法
AI很聪明,学习能力很强,现在的回答比半年前更胜一筹,新版本的函数都会用。下面,卢子举6个案例说明。
1.删除重复值
问题:工作表的A列有很多行内容,里面有的内容输入2次以上,怎么删除重复值?
AI提供了高级筛选和删除重复项两种方法。
这里,卢子演示删除重复项。
2.提取重复值(公式法)
问题:工作表的A列有很多行内容,里面有的内容输入2次以上,怎么用公式提取不重复的值到B列?
AI居然提供了高版本才有的去重复函数UNIQUE,刚看到挺惊讶的。
=UNIQUE(A1:A13)
3.统计不重复个数(公式法)
问题:工作表的A列有很多行内容,里面有的内容输入2次以上,怎么用公式统计不重复值的个数?
AI半年前提供的公式,超级复杂。
AI现在提供的公式,很简洁,有点小缺陷,COUNTA的A漏写了。COUNT是统计数字个数,COUNTA是统计非空个数,一定要用后者。
=COUNTA(UNIQUE(A2:A13))
除了技巧、函数,卢子还测试了VBA,一定要将问题说明的很详细,才能得到正确的代码。
4.生成1月-12月的工作表
问题:第一个工作表名称为目录,里面的A列罗列1月-12月,希望用VBA新建12个工作表,名称为1月、2月……12月?
AI提供的代码:
Sub CreateMonthlySheets()
Dim directorySheet As Worksheet
Dim newSheet As Worksheet
Dim monthRange As Range
Dim monthCell As Range
Dim month As String
Dim i As Integer
'指定目录工作表
Set directorySheet = ThisWorkbook.Sheets("目录")
'获取月份列表的范围
Set monthRange = directorySheet.Range("A2:A13")
'遍历月份列表,并创建对应的工作表
For Each monthCell In monthRange
month = monthCell.Value
i = i 1
'创建新工作表,并命名为对应的月份
Set newSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
newSheet.Name = i & "月"
Next monthCell
MsgBox "已根据目录工作表创建了12个工作表,每个工作表的名称为1月到12月!", vbInformationEnd Sub
点开发工具,VB,插入模板,将代码粘贴进去。
运行代码,就生成1月-12月共12个工作表。
5.生成N个名称没有规律的工作表
问题:第一个工作表名称为目录,里面的A列罗列张三、李四、王五等很多行内容,希望用VBA新建N个工作表,名称为张三、李四、王五等?
AI提供的代码:Sub CreateSheetsFromList()
Dim directorySheet As Worksheet
Dim nameRange As Range
Dim nameCell As Range
Dim name As String
'指定目录工作表
Set directorySheet = ThisWorkbook.Sheets("目录")
'获取姓名列表的范围
Set nameRange = directorySheet.Range("A2:A" & directorySheet.Cells(Rows.Count, 1).End(xlUp).Row)
'遍历姓名列表,并创建对应的工作表
For Each nameCell In nameRange
name = nameCell.Value
'创建新工作表,并命名为对应的姓名
ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)).Name = name
Next nameCell
MsgBox "已根据目录工作表创建了" & nameRange.Rows.Count & "个工作表,每个工作表的名称为列表中的姓名!", vbInformationEnd Sub
运行效果。
6.制作目录
问题:同一个工作簿里面有多个工作表,怎么用VBA代码,提取工作表名称做目录放在新工作表的A列?
AI提供的代码:Sub ExtractSheetNames()
Dim ws As Worksheet
Dim newNameSheet As Worksheet
'创建一个名为"SheetNames"的新工作表
Set newNameSheet = ThisWorkbook.Sheets.Add(After:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
newNameSheet.Name = "SheetNames"
'在新工作表A列中写入工作表名称
For Each ws In ThisWorkbook.Worksheets
newNameSheet.Cells(newNameSheet.Cells(Rows.Count, 1).End(xlUp).Row 1, 1).Value = ws.Name
Next ws
MsgBox "工作表名称已提取至SheetNames工作表的A列!", vbInformationEnd Sub
运行效果。
最后,总结一下经验,跟AI聊天目前不支持发表格、图片,因此描述问题一定要很详细,太笼统的问题很容易得到错误的答案。
笼统的问题:如何用VBA代码,提取工作表名称做目录?
详细的问题:同一个工作簿里面有多个工作表,怎么用VBA代码,提取工作表名称做目录放在新工作表的A列?
记住,问题表达的越详细越好。
【知识技术】使用ps制作多重曝光效果的方法?
使用Photoshop的多重曝光效果可以将两张或多张照片合并在一起,以创造出独特的效果。以下是使用多重曝光效果的方法:打开Photoshop,将第一张照片拖到工作区。打开第二张照片,将其拖到第一张照片所在的工作区。这将创建一个新的图层。将第二个图层的混合模式更改为“正片叠底”。调整第二个图层的透明度,使照片混合在一起的效果看起来自然。站长网2023-07-27 09:37:210000使用微信群聊这几个功能记得打开,很多人不知道,真实用!
朋友们大家好,我是小俊,今天小俊给大家分享一下关于微信群里面隐藏的一些实用功能,很多朋友啊可能还不知道,那大家学会之后啊,在微信群聊的时候,就会更加方便,接下来就跟着小俊一起来学习一下他的知识!站长网2023-07-28 17:41:530000微信的钱提现到银行卡如何免手续费?教你两种方法,学会可以省钱
站长网2023-07-27 17:05:120001教你永久关闭手机更新,让手机永不卡顿,旧手机也能多用几年
站长网2023-07-29 17:46:200001ChatGPT创始人,给我们上的8堂课
(本文首发于“刘润”公号,订阅“刘润”公号,和我一起洞察商业本质)hatGPT特别火。推出仅2个月,全民热议。这个能陪你聊天,能通过谷歌程序员面试,能给总统写发言稿,能交出全校最好论文的人工智能,横空出世。很多人说,ChatGPT背后的OpenAI公司,和它的创始人Sam真是幸运。创业者一辈子能有这么一次高光时刻,心满意足。站长网2023-04-20 14:05:160001