Wouldn't be nice if images in Excel updated automatically with certain prompts? In this guide, we're going to show you how to create dynamic images in Excel.

Download Workbook

Preparing the Dynamic Images

First, we need to place our images somewhere in the workbook. Make sure that each image fits, and is completely inside the cells - There should be no cut offs or overlaps. Otherwise, you are going to be able to only display the part of the image that fits inside the cell.

excel dynamic image

We used a tabular structure to place cells in order to ease the next step: creating named ranges.

Generating the Named Ranges

The next step is to generate named ranges for the cells containing the images. For example, we have 3 images in cells C3, C4, and C5. So, we need to assign names to each of those cells. Instead of naming each cell one by one, we can use the Create from Selection feature to name them at once.

excel dynamic image

To learn more about named ranges, please see Excel Named Ranges guide.

Setting up a user interface

On this step we are ready to build an interface for our dynamic images. In our example, we planned to update an image based on the selection made from a dropdown.

To keep it simple, we will be using the names in the table that were used to generate the named ranges.

Creating the dynamic image

This is the last and the most important step of creating dynamic images in Excel. Begin by opening the New Name dialog under Formulas > Defined Names.

Give a friendly name to the input, switch your cursor to the Refers to section, and enter the following formula. Also remember to update the dropdown reference accordingly.


Place an image where you want to display the dynamic content. The image itself does not matter (except for its size). So, you can use any image you have used before.

After placing the image, click on the image and activate the formula bar. Finally, enter the name you have created for the INDIRECT formula.

The dynamic images are now ready! When the Name dropdown is updated, the image displayed will be updated as well. Excel simply returns an image of the cell into the image object.