如果您曾经在 Excel 里花太多时间整理公式,或在无尽的数据行中来回滚动,您并不孤单。它是日常数据工作的可靠工具,尤其在商业场景中。但当 o
一旦数据集变大、分析更复杂,Excel 的局限就会显现。性能会变慢,而诸如高级分析或自动化之类的任务会变得笨拙。
一个不太为人所知的事实是,Excel 内置了对 Python 的支持。您可以直接在电子表格中编写 Python 代码,而无需在 Excel 和像 Spyder 这样的 IDE 之间来回切换。这为更好的图表、更快的分析以及更灵活的自动化打开了大门——前提是您能让 Excel 中的 Python 为您所用,而不是被各种错误或恼人的问题卡住。
本文需要一定的 Python 基础。如果您是 Python 新手,建议先学习我们的相关课程:Introduction to Importing Data in Python 和 Python for Spreadsheet Users 。最后我还想补充一点,
本文重点讲解如何在 Excel 内使用 Python 来增强您的电子表格。如果您对在 Excel 外部工作(使用 Python 脚本直接读取、写入和处理 Excel 文件)感兴趣,也推荐阅读我们的 Python Excel 教程,其中对此进行了详细介绍。
为何在 Excel 中使用 Python
在进入设置与语法之前,先看看这种集成为何重要。您可能已经用过 Excel 来做快速计算、表格或图表。但对于更高级的分析,如清洗大型数据集或建模趋势,Python 提供了 Excel 单独无法提供的工具。
预载库的便捷访问
Excel 中的 Python 默认附带 Anaconda 发行版,因此您可以直接使用 pandas、NumPy、Seaborn、Matplotlib 和 scikit-learn 等常用库。这些工具在处理表格、可视化模式或训练模型时非常有用。有了这些预载库,您无需另行安装即可直接开始分析。
或者,您也可以查 阅 Python Excel 教程,了解如何在 Excel 外部使用 Python 来编写与操作 Excel 工作表。
基于云的执行与协作
当您在 Excel 中使用 Python 时,代码会在 Microsoft Azure 的安全容器中运行。因此,您无需在本地计算机上安装或更新 Python。此外,性能会根据工作负载自动扩展,足以处理大型数据集。团队协作也很轻松:结果一致、可分享,所有代码与输出都存放在同一个工作簿中。
面向企业用户的安全与合规
Microsoft 在构建 Excel 中的 Python 时充分考虑了安全性。您的代码在隔离环境中运行,完全与您的设备或网络分离。该功能完全符合 GDPR 等法规,数据也会留在您组织的边界内。
开始在 Excel 中使用 Python
Excel 中的 Python 仅通过 Microsoft 365 订阅向 Windows 用户提供。预览版目前已向 macOS 和网页版推出。
启用与设置
要启用 Excel 中的 Python,请转到 “公式” 选项卡并打开 “插入” Python 加载项。
由于 Excel 中的 Python 使用的是内置的 Anaconda 环境,因此您无需手动安装各类库。
验证环境
启用后,您会看到一个包含公式 =PY() 的单元格。您可以在该函数中编写 Python 代码,然后使用 Ctrl+Enter 运行代码。
您可以运行如下代码来测试设置:=PY("print('Hello, Excel')")。
如果您对 Python 不熟悉或需要帮助,Copilot 可以通过建议代码、修复错误或讲解分析结构来为您提供指导。
更高级的分析与可视化
借助 Python,Excel 在数据分析与可视化方面的传统边界被大大拓展。通过这种集成,您可以进行更高级的分析并生成复杂的可视化。
使用 Matplotlib 和 Seaborn 的高级可视化
您可能熟悉 Excel 内置的图表,例如柱状图或饼图。它们对标准可视化来说快捷易用。但当您需要更多控制,比如组合图表类型或叠加数据时,Python 能提供更高的灵活性。
假设您有一个包含员工数据的命名数据区域,并想查看各部门的平均薪资。您可以在 Excel 单元格中输入以下代码来绘制该图。请注意,这里的 xl() 函数将 Excel 单元格与您的 Python 代码关联起来。
import pandas as pd
import matplotlib. pyplot as plt
employee_data = xl( "Employee[#All]" , headers= True )
employee_data. columns = employee_data. columns. str . strip( )
employee_data[ "Age" ] = pd. to_numeric( employee_data[ "Age" ] )
employee_data[ "YearsExperience" ] = pd. to_numeric( employee_data[ "YearsExperience" ] )
employee_data[ "Salary" ] = pd. to_numeric( employee_data[ "Salary" ] )
grouped_data = employee_data. groupby( "Department" ) . agg( {
"Name" : "count" ,
"Salary" : "mean"
} ) . rename( columns= { "Name" : "Headcount" , "Salary" : "AvgSalary" } )
fig, ax1 = plt. subplots( figsize= ( 10 , 6 ) )
bars = ax1. bar( grouped_data. index, grouped_data[ "Headcount" ] , color= "#00C74E" , label= "Headcount" )
ax1. set_ylabel( "Number of Employees" , color= "#00C74E" )
ax1. set_xlabel( "Department" )
ax1. tick_params( axis= 'y' , labelcolor= "#00C74E" )
ax2 = ax1. twinx( )
line = ax2. plot( grouped_data. index, grouped_data[ "AvgSalary" ] , color= "#0A66C2" , marker= "o" , label= "Avg Salary" )
ax2. set_ylabel( "Average Salary" , color= "#0A66C2" )
ax2. tick_params( axis= 'y' , labelcolor= "#0A66C2" )
plt. title( "Department Headcount vs. Average Salary" )
fig. tight_layout( )
plt. show( ) 技术支持
如下图所示的可视化将作为上述代码的输出,并会在您为该区域输入新数据时自动更新。
更深入的统计与预测建模
Python 还支持统计建模。您可以使用 scikit-learn 进行回归或分类,用 statsmodels 获取统计摘要。
下面是一个在 Excel 中使用 Python 分析员工数据的示例:
import pandas as pd
from scipy. stats import linregress
employee_data = xl( "Employee[#All]" , headers= True )
employee_data. columns = employee_data. columns. str . strip( )
employee_data[ "Age" ] = pd. to_numeric( employee_data[ "Age" ] )
employee_data[ "YearsExperience" ] = pd. to_numeric( employee_data[ "YearsExperience" ] )
employee_data[ "Salary" ] = pd. to_numeric( employee_data[ "Salary" ] )
summary = employee_data[ [ "Age" , "YearsExperience" , "Salary" ] ] . describe( )
print ( "📊 Summary Statistics:\n" , summary)
gender_salary = employee_data. groupby( "Gender" ) [ "Salary" ] . mean( )
print ( "\n💰 Average Salary by Gender:\n" , gender_salary)
correlation = employee_data[ "YearsExperience" ] . corr( employee_data[ "Salary" ] )
print ( f"\n📈 Correlation (Experience vs Salary): { correlation: .3f } " ) 技术支持
我建议您学习 我们的 Pandas Joins for Spreadsheet Users 课程,以了解如何使用 Pandas 在复杂数据集中执行高级分析。
使用 Copilot 进行自然语言编程
如果您不熟悉编写 Python 代码,可以使用 Copilot 作为 AI 助手。借助 Copilot,您可以用普通英语描述您的目标任务,让助手为您处理。Copilot 使您以极低的技术门槛访问 Excel 中的各类 Python 功能。
平台支持与许可注意事项
Excel 中的 Python 仍在不断演进,其可用性取决于您使用的平台。
支持的平台
下面看看 Excel 中的 Python 在哪些平台受支持,以及可能的限 制。
类别
摘要
Windows
对企业版与商业版用户提供完整支持(版本 2408+)。对家庭版与个人版用户提供预览(版本 2405+)。
macOS
对企业版与商业版用户提供支持(版本 16.96+)。通过 Insider 计划为家庭版与个人版用户提供预览(版本 16.95+)。
网页版 Excel
对企业版与商业版用户可用。对家庭与个人版用户提供预览。
教育用户
可通过 Microsoft 365 Insider 计划获得预览访问。
扩展计划
逐步推送,首先覆盖 Windows 和网页版。
自定义库
仅支持预载的 Anaconda 库,如 pandas、NumPy、Matplotlib 和 scikit-learn。无法安装自定义包。
离线访问
不可用。Python 代码在 Microsoft 云中运行,执行或刷新 Python 单元格需要互联网连接。
使用条款与合规
Python 功能仅适用于 Microsoft 365 商业计划,并需要组织许可。对于企业用户,Microsoft 可满足关键合规需求,包括数据驻留控制、GDPR 合规与安全沙盒。这使其即便对监管要求严格的团队也是不错的选择。
当前限制与替代方案
您也会发现,Excel 中的 Python 存在一些可能限制其应用的不足之处。
平台特定的约束
使用该功能时,建议您牢记以下事项:
需要联网: Python 在云端运行,因此需要互联网连接。
无法访问本地文件: Excel 中的 Python 无法访问您本地计算机的文件、设备或网络。这将其用途限制在当前工作簿内,无法连接到本地数据库或外部 API。
自定义库受限: 您无法安装自己的 Python 包或库。Excel 中的 Python 仅提供对 Anaconda 发行版中预装库的访问。若有更高级需求,请使用 Jupyter Notebooks、PyXLL、xlwings 或 Excel 加载项等工具。
计算控制: 当您更改单元格时,工作簿所有选项卡中的 Python 公式都可能重新计算,这会变慢并不必要地消耗配额。您可以选择“手动计算”或“部分”来调整自动更新方式。
调试与错误处理
解决错误或功能不完整问题时,可参考以下建议:
理解错误信息: 许多问题源于语法错误或引用问题。
依赖问题: 始终坚持使用受支持的库,以避免导入错误。
社区支持: 如需帮助,请查阅 Microso ft 的 Python in Excel 或 Anaconda 文档与社区论坛。
未来路线图
要最大化 Excel 中使用 Python 的收益,请保持 Excel 及时更新,随着功能演进探索云端与本地选项,并让 Copilot 指导您的编码。Microsoft 正在扩展平台支持、增加更多库,并改进与 Copilot 和 GitHub 的集成,未来可期。
若您希望提升 Excel 技能,建议学习我们的 Data Analysis in Excel 课程。该课程将帮助您掌握高级分析,推动职业发展。此外需要说明的是,尽管我们探讨了如何在 Excel 内直接使用 Python,但有时最佳方案是在外部完成。如果您想用 Python 脚本自动化 Excel 文件或生成报告,请查看我们的 Python Excel 教程。
最后,如果您使用 Google 表格,请阅读我们关于 在 Google 表格中使用 Python 的教程。由于 Excel 与 Google 表格中的 Python 差异较大,二者的知识无法直接互通,但两者都会用会很有帮助。
如果您曾经在 Excel 里花太多时间整理公式,或在无尽的数据行中来回滚动,您并不孤单。它是日常数据工作的可靠工具,尤其在商业场景中。但当 o
一旦数据集变大、分析更复杂,Excel 的局限就会显现。性能会变慢,而诸如高级分析或自动化之类的任务会变得笨拙。
一个不太为人所知的事实是,Excel 内置了对 Python 的支持。您可以直接在电子表格中编写 Python 代码,而无需在 Excel 和像 Spyder 这样的 IDE 之间来回切换。这为更好的图表、更快的分析以及更灵活的自动化打开了大门——前提是您能让 Excel 中的 Python 为您所用,而不是被各种错误或恼人的问题卡住。
本文需要一定的 Python 基础。如果您是 Python 新手,建议先学习我们的相关课程:Introduction to Importing Data in Python 和 Python for Spreadsheet Users。最后我还想补充一点,
本文重点讲解如何在 Excel 内使用 Python 来增强您的电子表格。如果您对在 Excel 外部工作(使用 Python 脚本直接读取、写入和处理 Excel 文件)感兴趣,也推荐阅读我们的 Python Excel 教程,其中对此进行了详细介绍。
为何在 Excel 中使用 Python
在进入设置与语法之前,先看看这种集成为何重要。您可能已经用过 Excel 来做快速计算、表格或图表。但对于更高级的分析,如清洗大型数据集或建模趋势,Python 提供了 Excel 单独无法提供的工具。
预载库的便捷访问
Excel 中的 Python 默认附带 Anaconda 发行版,因此您可以直接使用 pandas、NumPy、Seaborn、Matplotlib 和 scikit-learn 等常用库。这些工具在处理表格、可视化模式或训练模型时非常有用。有了这些预载库,您无需另行安装即可直接开始分析。
或者,您也可以查阅 Python Excel 教程,了解如何在 Excel 外部使用 Python 来编写与操作 Excel 工作表。
基于云的执行与协作
当您在 Excel 中使用 Python 时,代码会在 Microsoft Azure 的安全容器中运行。因此,您无需在本地计算机上安装或更新 Python。此外,性能会根据工作负载自动扩展,足以处理大型数据集。团队协作也很轻松:结果一致、可分享,所有代码与输出都存放在同一个工作簿中。
面向企业用户的安全与合规
Microsoft 在构建 Excel 中的 Python 时充分考虑了安全性。您的代码在隔离环境中运行,完全与您的设备或网络分离。该功能完全符合 GDPR 等法规,数据也会留在您组织的边界内。
开始在 Excel 中使用 Python
Excel 中的 Python 仅通过 Microsoft 365 订阅向 Windows 用户提供。预览版目前已向 macOS 和网页版推出。
启用与设置
要启用 Excel 中的 Python,请转到“公式”选项卡并打开“插入” Python 加载项。
由于 Excel 中的 Python 使用的是内置的 Anaconda 环境,因此您无需手动安装各类库。
验证环境
启用后,您会看到一个包含公式
=PY()的单元格。您可以在该函数中编写 Python 代码,然后使用Ctrl+Enter 运行代码。您可以运行如下代码来测试设置:
=PY("print('Hello, Excel')")。如果您对 Python 不熟悉或需要帮助,Copilot 可以通过建议代码、修复错误或讲解分析结构来为您提供指导。
更高级的分析与可视化
借助 Python,Excel 在数据分析与可视化方面的传统边界被大大拓展。通过这种集成,您可以进行更高级的分析并生成复杂的可视化。
使用 Matplotlib 和 Seaborn 的高级可视化
您可能熟悉 Excel 内置的图表,例如柱状图或饼图。它们对标准可视化来说快捷易用。但当您需要更多控制,比如组合图表类型或叠加数据时,Python 能提供更高的灵活性。
假设您有一个包含员工数据的命名数据区域,并想查看各部门的平均薪资。您可以在 Excel 单元格中输入以下代码来绘制该图。请注意,这里的
xl()函数将 Excel 单元格与您的 Python 代码关联起来。如下图所示的可视化将作为上述代码的输出,并会在您为该区域输入新数据时自动更新。
更深入的统计与预测建模
Python 还支持统计建模。您可以使用
scikit-learn进行回归或分类,用statsmodels获取统计摘要。下面是一个在 Excel 中使用 Python 分析员工数据的示例:
我建议您学习我们的 Pandas Joins for Spreadsheet Users 课程,以了解如何使用 Pandas 在复杂数据集中执行高级分析。
使用 Copilot 进行自然语言编程
如果您不熟悉编写 Python 代码,可以使用 Copilot 作为 AI 助手。借助 Copilot,您可以用普通英语描述您的目标任务,让助手为您处理。Copilot 使您以极低的技术门槛访问 Excel 中的各类 Python 功能。
平台支持与许可注意事项
Excel 中的 Python 仍在不断演进,其可用性取决于您使用的平台。
支持的平台
下面看看 Excel 中的 Python 在哪些平台受支持,以及可能的限制。
类别
摘要
Windows
对企业版与商业版用户提供完整支持(版本 2408+)。对家庭版与个人版用户提供预览(版本 2405+)。
macOS
对企业版与商业版用户提供支持(版本 16.96+)。通过 Insider 计划为家庭版与个人版用户提供预览(版本 16.95+)。
网页版 Excel
对企业版与商业版用户可用。对家庭与个人版用户提供预览。
教育用户
可通过 Microsoft 365 Insider 计划获得预览访问。
扩展计划
逐步推送,首先覆盖 Windows 和网页版。
自定义库
仅支持预载的 Anaconda 库,如 pandas、NumPy、Matplotlib 和 scikit-learn。无法安装自定义包。
离线访问
不可用。Python 代码在 Microsoft 云中运行,执行或刷新 Python 单元格需要互联网连接。
使用条款与合规
Python 功能仅适用于 Microsoft 365 商业计划,并需要组织许可。对于企业用户,Microsoft 可满足关键合规需求,包括数据驻留控制、GDPR 合规与安全沙盒。这使其即便对监管要求严格的团队也是不错的选择。
当前限制与替代方案
您也会发现,Excel 中的 Python 存在一些可能限制其应用的不足之处。
平台特定的约束
使用该功能时,建议您牢记以下事项:
调试与错误处理
解决错误或功能不完整问题时,可参考以下建议:
未来路线图
要最大化 Excel 中使用 Python 的收益,请保持 Excel 及时更新,随着功能演进探索云端与本地选项,并让 Copilot 指导您的编码。Microsoft 正在扩展平台支持、增加更多库,并改进与 Copilot 和 GitHub 的集成,未来可期。
若您希望提升 Excel 技能,建议学习我们的 Data Analysis in Excel 课程。该课程将帮助您掌握高级分析,推动职业发展。此外需要说明的是,尽管我们探讨了如何在 Excel 内直接使用 Python,但有时最佳方案是在外部完成。如果您想用 Python 脚本自动化 Excel 文件或生成报告,请查看我们的 Python Excel 教程。
最后,如果您使用 Google 表格,请阅读我们关于 在 Google 表格中使用 Python 的教程。由于 Excel 与 Google 表格中的 Python 差异较大,二者的知识无法直接互通,但两者都会用会很有帮助。