乐于分享
好东西不私藏

在Excel中使用Python:基础篇

在Excel中使用Python:基础篇
学习Excel技术,关注微信公众号:
excelperfect

标签:Excel函数PY函数

本文包括如何启用Excel中的Python,在Excel中使用Python,以及ExcelPython的计算规则等内容。

启用Excel中的Python

要在Excel中使用Python,先选择一个单元格,然后进行以下任一操作:

操作1.单击“公式”选项卡“Python”组中的“插入Python”。这会告知Excel在所选单元格中编写Python公式。

1

操作2.输入=PY启用Python,如下图2所示。

2

输入=PY后,使用Tab键,或在函数后添加左括号:=PY(。结果如下图3所示,可以看到单元格左侧增加了一个带PY字的绿色框,同样在公式编辑栏左侧也出现了一个带PY字的绿色框,并且其左侧由“插入函数”图标变成了带有下拉箭头的“Python对象”图标。

3

现在,可以直接在单元格中输入Python代码,也可以在公式编辑栏中输入Python代码。

操作3.使用Shift+Alt+Ctrl+P组合键。

使用Python

如果要在Python单元格中引用Excel对象,在Python单元格处于编辑模式下,选择要包含在Python公式中的单个单元格或单元格区域。这会自动让选择的单元格或单元格区域的地址填充到Python单元格,如下图4所示。

4

可以看到,Excel中的Python使用自定义Python函数xl()ExcelPython之间进行接口。xl()函数接受Excel对象,例如单元格区域、表、查询和名称。

当然,也可以使用xl()函数在Python单元格中直接键入引用。例如,要引用单元格A1,直接输入xl(“A1”);引用单元格区域B1:C4,输入x1(“B1:C4”)。对于带有标题的名为MyTable的表,输入xl(“MyTable[#All]”headers=True)[#All]说明符确保在Python公式中分析整个表,headers=True确保正确处理表头。

下图5显示了Excel中的Python计算,将单元格A1B1的值相加,Python结果返回到单元格C1

5

注意到图5中的一些元素,包括:公式栏增大了、输出结果单元格中带有[PY]字样且右边有一个卡图标,下面分别介绍。

公式栏

使用公式编辑栏进行类似代码编辑的操作,例如使用Enter键创建新行。使用其左侧的向下箭头图标展开编辑栏,从而可以一次查看多行代码。还可以使用键盘快捷键Ctrl+Shift+U展开编辑栏。

如果公式编辑栏显示不出完整代码,可以将鼠标置于其下方,待光标变成白色竖直双向箭头后,向下拖拉以扩展公式栏。

输出结果的类型

使用公式编辑栏左侧的Python对象输出菜单来控制Python计算的返回方式。将计算结果作为Python对象返回,或将计算结果转换为Excel值并直接输出到单元格中。下图6所示显示了作为Python对象返回的Python公式,这也是其默认返回方式。

6

单击“Excel值”,则返回值,如下图7所示。

7

也可以在Python单元格中单击鼠标右键,从快捷菜单中选择要输出的方式,如下图8所示。

8

注意:返回Excel值的公式结果将转换为最接近的Excel等效值。如果计划在将来的Python计算中重用结果,建议将结果作为Python对象返回。将结果作为Excel值返回允许对值进行Excel分析,例如制作Excel图表、创建公式和条件格式。

Python对象在单元格中包含其他信息。要查看其他信息,选择并单击卡图标打开卡。卡片上显示的信息是字段(或对象的预览,我的Excel上没有?),这在处理大型对象时很有用。

9

Excel中的Python可以将多种类型的数据作为Python对象返回,一个有用的Python Excel数据类型是DataFrame对象(后续将专题介绍)。

导入外部数据

Excel中使用Python处理的所有数据必须来自工作表或通过Power Query导入。

计算顺序

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

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

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

重新计算

Python单元格的依赖值发生变化时,所有Python公式都会按顺序重新计算。要暂停Python重新计算并提高性能,使用“部分计算”或“手动计算”模式。这些模式允许在准备就绪时触发计算。要更改此设置,在功能区“公式”选项卡中打开“计算选项”来操作。部分计算和手动计算模式暂停Python和数据表的自动重新计算。

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

1.使用键盘快捷键F9

2.使用功能区“公式”选项卡“开始计算”。

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

错误

Excel中的Python计算可能会返回错误,例如在Python单元格中显示#Python!,#BUSY!,#CONNECT!。

注:本文整理自Microsoft官方网站,进行了一些补充,有兴趣的朋友可以阅读原文。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。