Adding Formulas to Excel Files Using Python

What You Will Learn

In this tutorial, you will master the art of adding an additional sheet with formulas to each xlsb file in a folder using Python. Say goodbye to manual formula entry and embrace efficient automation.

Introduction to the Problem and Solution

Working with Excel files often involves repetitive tasks like adding formulas across multiple sheets. This process can be time-consuming and error-prone if done manually. The solution lies in leveraging Python to automate the formula addition process.

By crafting a script, we can iterate through each xlsb file in a designated folder and seamlessly append a new sheet populated with the desired formulas. This not only streamlines the workflow but also guarantees precision in calculations.

To tackle this challenge, we will harness the power of libraries such as openpyxl. This library equips us with the necessary tools to handle Excel files effortlessly, from creating sheets to writing complex formulas. By amalgamating file management techniques with Excel manipulation functionalities provided by openpyxl, we pave the way for a seamless solution.


import openpyxl
import os

# Function to add sheet with formula to excel file
def add_formula_sheet(file_path):
    wb = openpyxl.load_workbook(file_path)
    new_sheet = wb.create_sheet("Formulas")
    new_sheet['A1'] = 'Data'
    new_sheet['B1'] = 'Result'
    new_sheet['A2'] = 10
    new_sheet['B2'] = '=A2*2'  # Example formula


# Loop through all xlsb files in a folder and add formula sheet 
folder_path = "path/to/folder"
for file_name in os.listdir(folder_path):
    if file_name.endswith(".xlsb"):
        file_path = os.path.join(folder_path, file_name)

# Copyright PHD

Note: Ensure to replace “path/to/folder” with your actual folder path.

For more assistance or related topics, visit PythonHelpDesk.com.


In this code snippet: – We import the openpyxl library for handling Excel files. – Define a function add_formula_sheet() that adds a new sheet with formulas to an Excel file. – Load the workbook using openpyxl.load_workbook(). – Create a new sheet named “Formulas” within the workbook and populate it with data and formulas. – Save the updated workbook back to its original path after adding the formula sheet. – Iterate through all xlsb files in a specified folder, identify them, and call add_formula_sheet() for each eligible file.

This approach automates the process of adding formula sheets by utilizing Python’s interaction capabilities with Excel files via openpyxl.

    How do I install openpyxl?

    To install openpyxl, use pip by running:
    pip install openpyxl

    Can I use this code for xlsx or xlsm files?

    Yes, you can adapt the code by checking for .xlsx or .xlsm extensions instead of .xlsb.

    Is it possible to customize more complex formulas?

    Certainly! You have full flexibility to create intricate formulas tailored to your needs within this script.

    What if I want different sheets per excel document?

    You can modify add_formula_sheet() function accordingly to generate unique sheets per processed Excel document.

    How do I handle errors while processing these documents?

    Consider implementing error-handling mechanisms within your script to manage potential issues during execution effectively.


    Automating tasks such as adding formula sheets across numerous Excel files not only boosts productivity but also minimizes manual errors. With Python’s versatility and libraries like openpyxl, users possess potent tools for efficient spreadsheet manipulation. Embrace automation wisely while exploring endless possibilities within Python development realms!

    Leave a Comment