Pinterest Pixel

Python Meets Microsoft Excel: Transform Your Spreadsheets Today!

In the digital age, Microsoft Excel and Python have emerged as titans in data analysis and automation,... read more

Download Excel Workbook
John Michaloudis
Posted on


Python Meets Microsoft Excel: Transform Your Spreadsheets Today! | MyExcelOnline Python Meets Microsoft Excel: Transform Your Spreadsheets Today! | MyExcelOnline

In the digital age, Microsoft Excel and Python have emerged as titans in data analysis and automation, each celebrated for its unique capabilities. Combining Python with Excel unlocks a new dimension of data handling, offering sophisticated analysis within Excel’s familiar interface. This article explores the integration of Python in Excel, emphasizing the transformative power it brings to data analytics and automation.

Key Takeaways

  • Python Integration: Seamlessly integrate Python in Excel for in-sheet calculations and visualizations, boosting Excel’s data handling with Python’s tools.
  • Dataframe Creation: Use Python to employ pandas DataFrames in Excel, enabling complex data analysis through a versatile two-dimensional structure.
  • Output Options: Choose between Python object formats or Excel values via the “Python Output” menu, tailoring Python’s output to fit various needs.
  • Data Analysis Functions: Utilize Python for advanced Excel data analysis, like describe(), for quick statistical summaries and insights.
  • Pivot Tables with Python: Create pivot tables in Excel using Python and pandas, for in-depth, customizable data analysis leveraging Python’s capabilities.


Introduction to Python in Excel

In the realm of data analysis and automation, Python and Excel stand as two powerful tools, each with its own strengths and loyal user base. Excel, a cornerstone of office productivity software, is renowned for its intuitive interface and robust spreadsheet functionalities. Python, on the other hand, is celebrated for its versatility, readability, and extensive support of libraries for data analysis, machine learning, and automation.

Bridging these two worlds offers users the best of both, enabling sophisticated data manipulation and analysis within the familiar environment of Excel. This article delves into the integration of Python with Excel, exploring the tools and libraries available for this purpose, and highlighting the benefits and applications of this powerful combination.

The Python integration within Excel is presently in its preview phase. To access this functionality, become a member of the Microsoft 365 Insider Program and select the Beta Channel Insider tier.

What is Python in Excel?

Python in Excel refers to the integration of the Python programming language within Microsoft Excel, allowing users to perform Python calculations and create visualizations directly in Excel worksheets. This feature enables users to employ Python’s powerful analytical capabilities within the familiar Excel environment. Key points to understand about Python in Excel include:

  • Utilizing Python in Excel is as straightforward as entering “=PY(” followed by Python code in an Excel cell.

python in excel

  • Use the keyboard shortcut Ctrl + Alt + Shift + P to activate Python in Excel.
  • When Python is activated within a cell, a Python (PY) icon appears on that cell. Similarly, the formula bar shows the PY icon whenever the cell with Python enabled is selected.

python in excel

  • The formula bar in Excel can be expanded to facilitate multi-line code editing, using Enter to add new lines and Ctrl + Enter to commit code to a cell.

python in excel

You enter Python code directly into a cell, the Python computations are executed in the Microsoft cloud, and the outcomes are delivered back to the worksheet. So, you need to make sure that you have a stable internet connection.


How to Create Dataframe using Python

In Excel with integrated Python support, a DataFrame is a powerful data structure that originates from the pandas library in Python. It allows users to manipulate and analyze tabular data within Excel using Python’s robust data manipulation capabilities. A DataFrame is essentially a two-dimensional, size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns).

Start by entering “=PY(” and then select the range that you want to include as a data frame.

python in excel

This format will simply load the Excel table. Since the header is included in the range, the formula shows ‘headers=True’.

Users can manage the results produced by Python calculations through the “Python Output” menu. This menu provides two primary options for how the output is formatted and integrated into the user environment:

  • Python Object – This output type retains the Python data structure, such as lists, dictionaries, or any custom objects. It’s useful when you want to further manipulate these results within Python or when the output is intended for a Python-based environment.

python in excel

  • Excel Value – his output type converts the Python script results into a format that is directly usable within Excel. For example, numeric results, strings, or lists will be formatted so that they can be inserted into Excel cells or used by Excel for further calculations, charts, or any other Excel functionality.

python in excel

You can click on the Python object icon on the left of the formula bar and select either Python object or Excel value as per your requirement.

python in excel

You can give the data table a name by adding the name at the beginning of the formula like this –

df=xl(“A1:D40”, headers=True)

python in excel


Data Analysis in Python

Data analysis is a quick way to get insights of your data using Python in Excel. Describe() provides a statistical summary of the numerical columns in a DataFrame. To get the description of the data, simply enter this formula –


python in excel

When you call this method, the output includes several key statistics for each numerical column, giving you a quick overview of the data’s distribution and central tendency. Here’s what each part of the result represents:

  • Count: The number of non-null (i.e., not missing) entries in each column. This can help you identify columns with missing data.
  • Mean: The average value of each column. This gives you a sense of the central tendency of the data in each column.
  • Standard Deviation: A measure of the amount of variation or dispersion of the dataset. A low standard deviation means that the values tend to be close to the mean, while a high standard deviation means that the values are spread out over a wider range.
  • Minimum Value: The smallest value in each column. This provides insight into the lower bound of the data’s range.
  • 25% (First Quartile): The value below which 25% of the data falls. This is also known as the lower quartile and can help you understand the distribution of data by dividing the dataset into four equal parts.
  • 50% (Median or Second Quartile): The middle value of the dataset when it is ordered from lowest to highest. Half of the data points are below the median, and half are above. This measure is less affected by outliers and skewed data than the mean.
  • 75% (Third Quartile): The value below which 75% of the data falls. This is also known as the upper quartile, providing another point of reference for understanding the distribution of data.
  • Maximum Value: The largest value in each column. This gives you a sense of the upper limit of the data’s range.

Let’s say you want to describe the Product column only. You can do that by using the following formula –


python in excel

Here, if your column name does not contain any spaces, you can avoid the square brackets and refer to them as attributes like this – df.Product.describe()


Pivot Table using Python

Creating a pivot table in Python, especially with the pandas library, involves summarizing your dataset in a way that reshapes it for easier analysis.


python in excel

The operation is essentially creating a pivot table where the index is the unique values from the Product column, and the values are the sum of the Amount for each product. This is useful for quickly finding the total amount for each product category, aiding in summarizing your data for analysis. Let’s break it down:

  • df – This specifies the DataFrame you’re working with. In pandas, a DataFrame is a two-dimensional, size-mutable, and potentially heterogeneous tabular data structure with labeled axes (rows and columns).
  • groupby – The .groupby() method is used to split the data into groups based on some criteria.
  • “Product” – This part of the operation tells pandas to group the DataFrame by the Product column.
  • Amount – After the DataFrame has been grouped by Product, you specify which column’s data you want to operate on.
  • sum() – Finally, you apply the .sum() method to the grouped data. This method takes each group created by the groupby() operation and sums up the values in the Amount column for each group.



In conclusion, integrating Python within Excel offers a powerful synergy that leverages Python’s analytical capabilities within Excel’s user-friendly interface. This combination not only simplifies the execution of Python code directly in Excel cells but also enriches data manipulation and analysis through features like DataFrame creation, statistical summaries, and pivot tables. This integration caters to a wide range of users, from data analysts to casual users, by providing a familiar environment for executing complex data analysis tasks with the efficiency and power of Python.


FAQ: Harnessing the Best of Both Worlds

Can Python be used in Excel?

Absolutely! Python can be used within Excel to enhance your data analysis, allowing you to run Python code right in your spreadsheet cells. Make sure you’re part of the Microsoft 365 Insider Program and have the latest Excel build, then enable Python in your workbook and start harnessing its capabilities.

How do you insert Python in Excel?

To insert Python in Excel, open the Formulas tab, click on ‘Insert Python’, and enable the function when prompted. You can also type =PY into a cell and select ‘PY’ from the function AutoComplete menu to activate Python scripting in your worksheet.

Why Should I Combine Python with Excel?

Combining Python with Excel supercharges your spreadsheets, offering advanced data analysis, automation of repetitive tasks, and access to a wide array of sophisticated data manipulation and visualization libraries. It elevates Excel’s capabilities and saves you time, making data work both more powerful and more efficient.

Can Python in Excel Be Used by Those Without a Coding Background?

Yes, Python in Excel can be used by individuals without a coding background, thanks to Python’s readable syntax and the availability of numerous resources for learning. Excel’s familiar interface also helps ease the transition, allowing non-coders to gradually pick up scripting skills as they go.

What output options are available when working with Python in Excel?

In Excel with Python, users can choose how calculations are returned—either as Python objects for further Python processing, marked by a card icon, or directly as Excel values for immediate Excel analysis and visualization. This choice, accessible through the Python Output menu or right-click menu, offers flexibility for various analysis needs.

If you like this Excel tip, please share it
Python Meets Microsoft Excel: Transform Your Spreadsheets Today! | MyExcelOnline Python Meets Microsoft Excel: Transform Your Spreadsheets Today! | MyExcelOnline
Founder & Chief Inspirational Officer at

John Michaloudis is a former accountant and finance analyst at General Electric, a Microsoft MVP since 2020, an Amazon #1 bestselling author of 4 Microsoft Excel books and teacher of Microsoft Excel & Office over at his flagship MyExcelOnline Academy Online Course.

See also  How to use Microsoft Power Automate

Get Video Training

Advance your Microsoft Excel & Office Skills with the MyExcelOnline Academy!

Dramatically Reduce Repetition, Stress, and Overtime!
Exponentially Increase Your Chances of a Promotion, Pay Raise or New Job!

Learn in as little as 5 minutes a day or on your schedule.

Learn More!

Share to...