草庐IT

这么方便吗?用ChatGPT生成Excel(详解步骤)

徐浪老师 2024-07-30 原文

文章目录


前言

ChatGPT 自去年 11 月 30 日 OpenAI 重磅推出以来,这款 AI 聊天机器人迅速成为 AI 界的「当红炸子鸡」。一经发布,不少网友更是痴迷到通宵熬夜和它对话聊天,就为了探究 ChatGPT 的应用天花板在哪里,经过试探不少人发现,ChatGPT 似乎像个全能战士,可以聊天、写代码、修改 bug、做智能音箱、写神经网络……

但是!作为一名资深打工者,平时工作中 Word、PPT、Excel 等必不可少,要是能将 ChatGPT 整合进这些应用软件简直不要太开心。这方面微软已经在紧锣密鼓的进行了。

微软的动作到底有多迅速,我们一时半会还猜不出来,但是已经有人坐不住了,这位名叫 PyCoach 的 AI 爱好者开始用 ChatGPT 写 Excel 公式,工作效率妥妥提高 10 倍。
PyCoach 表示,我们需要做的是创建有效提示,从而使得 ChatGPT 可以生成 Excel 公式和宏。

使用过 ChatGPT 的人都知道,提示占据非常重要的位置。而 Word,Excel、PPT 这办公三大件中,当属 Excel 最难搞,想要熟练掌握它,需要记住很多公式。但是使用提示就简单多了,和 ChatGPT 聊聊天就能解决问题。


下面我们看看 PyCoach 是如何实现的。

一、使用 ChatGPT 完成 Excel 公式

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.引入库

首先你需要创建一个账户,注册成功后得到如下界面:

创建账户地址:https://chat.openai.com/auth/login

接下来是使用 ChatGPT 完成 Excel 公式。在使用 Excel 时,我们常常会利用其自带的计算函数,包括数据库函数、日期与时间函数、统计函数等。这些函数分别有自己的名称和格式,调用时需要按照规定格式准确输入参数,这给 Excel 用户带来了一些使用负担。

但是现在,我们用自然语言「告诉」ChatGPT 要计算的内容就可以了。我们以下面这张全年收入支出数据表为例,假设我们是 Excel 新手,不知道如何将 Expenses 列的值相加。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

在这种情况下(当我们想要对一些数据进行求和),我们只需要告诉 ChatGPT 要对哪些数据求和,它就会输出一个已经代入实际参数的公式。例如:

ChatGPT 就像是一个精通 Excel 的小助手,我们把它写好的公式放到 B14 单元格里就能得到 B2 到 B13 单元格里数据的和。

有时,我们对一个 Excel 表格有多个问题,这时我们也可以对 ChatGPT 连续提问。例如对于上面的收入支出数据表,想知道 1. 月支出超过 100000 美元的次数;2. 未支付的费用总计多少,我们就可以询问 ChatGPT 获得计算公式:
这一步是计算月支出超过 100000 美元的次数:

这一步是对「已支付」状态栏中标记为「否(No)」的费用求和:

接下来挑战任务升级。假设我们有下面的电话号码列表,我们想要额外的区号(area code),即前面括号内容。

3.提取数据


向 ChatGPT 描述此任务:

下面是 ChatGPT 生成的公式:

=MID (A1,FIND (“(”,A1)+1,FIND (“)”,A1)-FIND (“(”,A1)-1)
我们唯一要做的修改就是用 A2 替换 A1,然后就可以得出结果!

4.计算唯一值

下来我们数一下列 B 中有多少唯一的区号(area codes)。如下图所示,ChatGPT 生成了非常复杂的公式,但这些公式不起作用。究其原因,可能是 ChatGPT 记住了对话中的每一个细节。我们可以试着提问一个一般性的问题来解决:

ChatGPT 生成的公式如下
=SUMPRODUCT (1/COUNTIF (range, range))

如果加上区号所在的范围,公式又变成如下方式:
=SUMPRODUCT (1/COUNTIF (B2:B9, B2:B9))

5.使用ChatGPT创建宏变量

下来让我们尝试使用 VBA 创建一个简单的宏,按 tab 名对 sheet 进行排序。

Sub SortSheets()
Dim i As Long
Dim j As Long
Dim temp As Worksheet
Dim tempName As String
For i = 1 To Worksheets ,Count - 1
For j = i + 1 To worksheets .CountIf UCase(worksheets(i) .Name) > UCase(worksheets(j) .Name) Then
Set temp = Worksheets(i)tempName = "temp" & Format (Now, "yyyymmddhhmmss")temp .Name = tempNameWorksheets(j) .Move Before:=worksheets(i)temp ,Name = Worksheets(j) .Name

总结

一番调试后,ChatGPT 完成了工作,但没有达到预期。除此以外,ChatGPT 通过 tab 名对 sheets 进行排序,它将其中一个 tab 名更改为 temp。

以上就是 PyCoach 对 ChatGPT 的探索,可以看出 ChatGPT 还是很有帮助的,还在为写 Excel 公式头疼的小伙伴,可以试一试了。

有关这么方便吗?用ChatGPT生成Excel(详解步骤)的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  3. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  4. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

  5. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  6. ruby-on-rails - 如何在 Rails 3 中创建自定义脚手架生成器? - 2

    有这些railscast。http://railscasts.com/episodes/218-making-generators-in-rails-3有了这个,你就会知道如何创建样式表和脚手架生成器。http://railscasts.com/episodes/216-generators-in-rails-3通过这个,您可以了解如何添加一些文件来修改脚手架View。我想把两者结合起来。我想创建一个生成器,它也可以创建脚手架View。有点像RyanBates漂亮的生成器或web_app_themegem(https://github.com/pilu/web-app-theme)。我

  7. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  8. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  9. ruby - cucumber 特征和步骤定义 - 2

    我是Cucumber测试的新手。我创建了两个特征文件:events.featurepartner.feature并将我的步骤定义放在step_definitions文件夹中:./step_definitions/events.rbpartner.rbCucumber似乎在所有.rb文件中查找步骤信息。有没有办法限制该功能查看特定的步骤定义文件?我之所以要这样做,是因为即使我使用了--guess标志,我也会遇到不明确的匹配错误。我之所以要这样做,有以下几个原因。我正在测试CMS,并希望在不同的功能中测试每种不同的内容类型(事件和合作伙伴)。事件.特征Feature:AddpartnerA

  10. python - 帮我找到合适的 ruby​​/python 解析器生成器 - 2

    我使用的第一个解析器生成器是Parse::RecDescent,它的指南/教程很棒,但它最有用的功能是它的调试工具,特别是tracing功能(通过将$RD_TRACE设置为1来激活)。我正在寻找可以帮助您调试其规则的解析器生成器。问题是,它必须用python或ruby​​编写,并且具有详细模式/跟踪模式或非常有用的调试技术。有人知道这样的解析器生成器吗?编辑:当我说调试时,我并不是指调试python或ruby​​。我指的是调试解析器生成器,查看它在每一步都在做什么,查看它正在读取的每个字符,它试图匹配的规则。希望你明白这一点。赏金编辑:要赢得赏金,请展示一个解析器生成器框架,并说明它的

随机推荐