Applies ToMicrosoft 365 专属 Excel

从版本 2408 (内部版本 17928.20114) 开始,从版本 2408 (内部版本 17928.20216) 开始,Excel 中的 Python 现在可供运行 Windows 当前频道的企业和企业版用户使用。从版本 2405 (内部版本 17628.20164) 开始,在 Windows 上运行当前频道的家庭和个人用户可以使用预览版。 对于通过 Microsoft 365 预览体验计划运行 Current Channel (Preview) 的教育版用户,可以使用 Excel 中的 Python 预览版。 目前,它不适用于半年度企业频道。

它将首先推出到 Excel for Windows,然后会在以后推出到其他平台。 有关更多可用性信息,请参阅 Excel 中的 Python 可用性​​​​​​​

如果在使用 Excel 中的 Python 时遇到任何问题,请通过在 Excel 中选择 帮助 反馈

不熟悉 Excel 中的 Python? 从 Excel 中的 Python 简介开始。  

开始使用 Python 

若要在 Excel 中开始使用 Python,请选择一个单元格,然后在“公式”选项卡上,选择“ 插入 Python”。 这会告知 Excel 你想要在所选单元格中编写 Python 公式。 

转到“公式”,然后选择“插入 Python”。

或者在单元格中使用函数 =PY 来启用 Python。 在单元格中输入 =PY 后,使用向下键和 Tab 键从函数“自动完成”菜单中选择“PY”,或向函数添加左括号: =PY (。 现在,可以直接在单元格中输入 Python 代码。 以下屏幕截图显示了“自动完成”菜单,其中选择了 PY 函数。

在单元格中输入 =PY 以启用 Python。

在单元格中启用 Python 后,该单元格将显示一个 PY 图标。 选择 Python 单元格时,编辑栏将显示相同的 PY 图标。 有关示例,请参阅以下屏幕截图。 

在单元格中启用了 Excel 中的 Python 的 Excel 工作簿,并在单元格中显示绿色 PY 图标。

将 Python 与 Excel 单元格和区域结合使用

若要在 Python 单元格中引用 Excel 对象,请确保 Python 单元格处于“编辑”模式,然后选择要在 Python 公式中包含的单元格或区域。 这会自动使用所选单元格或区域的地址填充 Python 单元格。 

提示: 使用键盘快捷方式 F2 在 Python 单元格中的 Enter 模式和编辑模式之间切换。 切换为“编辑”模式可以编辑 Python 公式,而切换到 Enter 模式允许使用键盘选择其他单元格或区域。 如需了解更多快捷方式,请参阅 Excel 中的 Python 快捷方式

Excel 中的 Python 使用自定义 Python 函数 xl() 在 Excel 和 Python 之间进行接口。 xl() 函数接受区域、表、查询和名称等 Excel 对象。

还可以使用 xl() 函数直接将引用键入 Python 单元格。 例如,若要引用单元格 A1 ,请使用 xl("A1") ;对于区域 B1:C4 ,请使用 xl("B1:C4")。 对于具有名为 MyTable 的标头的表,请使用 xl("MyTable[#All]", headers=True)[#All] 说明符可确保在 Python 公式中分析整个表, headers=True 确保正确处理表头。 若要了解有关 [#All] 等说明符的详细信息,请参阅 对 Excel 表使用结构化引用

下图显示了 Excel 中的 Python 计算,该计算添加了单元格 A1B1 的值,并在单元格 C1 中返回了 Python 结果。 

使用自定义 Python 函数 xl () 在 Excel 和 Python 之间进行交互。

编辑栏 

使用编辑栏进行类似代码的编辑行为,例如使用 Enter 键创建新行。 使用向下箭头图标展开编辑栏,一次查看多行代码。 还可以使用键盘快捷方式 Ctrl+Shift+U 展开编辑栏。 以下屏幕截图显示了在展开它以查看多行 Python 代码之前和之后的编辑栏。

展开编辑栏之前: ... 

展开编辑栏后:   

展开编辑栏可查看更多代码行。

提示: 对于更大的代码编辑空间和文本着色和 IntelliSense 等功能,请使用 Excel 代码编辑器中的 Python

输出类型 

使用公式栏中的 Python 输出菜单控制如何返回 Python 计算。 以 Python 对象的形式返回计算,或将计算转换为 Excel 值,并将其直接输出到单元格。 以下屏幕截图显示了作为 Excel 值返回的 Python 公式。 

提示: 还可以使用右键单击菜单更改 Python 输出类型。 打开右键单击菜单,转到“Python 输出”,然后选择所需的输出类型。

使用 Python 输出菜单在输出类型之间切换。

以下屏幕截图显示了与前面的屏幕截图相同的 Python 公式,现在作为 Python 对象返回。 当公式作为 Python 对象返回时,单元格将显示卡图标。

注意: 返回到 Excel 值的公式结果将转换为其最接近的 Excel 等效项。 如果计划在将来的 Python 计算中重复使用结果,建议将结果作为 Python 对象返回。 通过以 Excel 值返回结果,可以对值运行 Excel 分析,例如 Excel 图表、公式和条件格式。

当数据作为 Python 对象返回时,单元格将显示 Python 卡图标。

Python 对象在单元格中包含其他信息。 若要查看其他信息,请通过选择卡图标打开卡。 卡上显示的信息是 对象的预览,这在处理大型对象时很有用。

Excel 中的 Python 可以将多种类型的数据作为 Python 对象返回。 Excel 数据类型中有用的 Python 是 DataFrame 对象。 若要了解有关 Python 数据帧的详细信息,请参阅 Excel DataFrames 中的 Python。  

导入外部数据 

在 Excel 中使用 Python 处理的所有数据都必须来自工作表或通过Power Query。 若要导入外部数据,请使用 Excel 中的“获取 & 转换”功能访问Power Query。 有关详细信息,请参阅使用 Power Query 在 Excel 中导入 Python 的数据。 

重要: 为了保护安全性,Python 中的常见外部数据函数(例如 pandas.read_csvpandas.read_excel)与 Excel 中的 Python 不兼容。 若要了解详细信息,请参阅 Excel 中的数据安全性和 Python

计算次序 

传统的 Python 语句从上到下计算。 在 Excel 单元格中的 Python 中,Python 语句执行相同的操作 - 它们从上到下进行计算。 但在 Excel 中的 Python 工作表中,Python 单元格按行主顺序计算。 单元格计算在从 A 列 (XFD 列) 的行中运行,然后跨工作表下的每一行运行。 

Python 语句是有序的,因此每个 Python 语句对 Python 语句具有隐式依赖关系,该语句在计算顺序中紧靠在 Python 语句前面。  

在工作表中定义和引用变量时,计算顺序很重要,因为必须先定义变量,然后才能引用它们。  

重要: 行主计算顺序也适用于工作簿中的工作表,并且基于工作簿中工作表的顺序。 如果使用多个工作表在 Excel 中使用 Python 分析数据,请确保在分析该数据的单元格和工作表之前的单元格和工作表中包含数据存储的数据和任何变量。   

重新计算 

当 Python 单元格的依赖值发生更改时,将按顺序重新计算所有 Python 公式。 若要暂停 Python 重新计算并提高性能,请使用 “部分计算 ”或 “手动计算 ”模式。 这些模式允许你在准备就绪时触发计算。 若要更改此设置,请转到功能区并选择“ 公式”,然后打开“ 计算选项”。 接下来,选择所需的计算模式。 部分计算手动计算模式暂停 Python 和数据表的自动重新计算。

在 Python 开发期间禁用工作簿中的自动重新计算可以提高性能和单个 Python 单元格计算速度。 但是,必须手动重新计算工作簿,以确保每个 Python 单元格的准确性。 可通过三种方法在 “部分计算 ”或“ 手动 计算”模式下手动重新计算工作簿。

  1. 使用键盘快捷方式 F9

  2. 转到功能区中的 “公式 ”> “立即计算 ”。

  3. 转到具有过时值的单元格,使用删除线格式显示,然后选择该单元格旁边的错误符号。 然后从菜单中选择“ 立即计算 ”。

错误 

Excel 计算中的 Python 可能会返回错误,例如 #PYTHON!、#BUSY!和 #CONNECT! 到 Python 单元格。 若要了解详细信息,请参阅 排查 Excel 中的 Python 错误

相关文章 

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。