Dynamic Picture Lookup in Excel
Just 5 easy steps – No VBA
How can you lookup different pictures based on the value of a cell?
Just to give you a heads up. This is a VBA-free tutorial!
You can apply this concept to anything where you need dynamic pictures.
- Company logos
- Employee pictures
- Report headers…
Basically anywhere where you’d like the picture to change once the value of a cell changes.
Here’s our Picture Lookup Challenge
We’d like to select the country from our drop-down list,
and we’d like the image – i.e. the flag for the country to reflect our selection:
Let’s get started…
Step 1: Organize the pictures in separate cells
Make sure each single image is “inside” its own cell. It should be surrounded by the cell borders. You’ll see why in a bit…
Adjust the row height so your images have enough space. To make sure each image is inside its own cell, you can select the images – Shortcut key Control + A selects all images (make sure you click on an image first before you use the shortcut key, otherwise you select all the cells instead).
Now use the options inside picture tools to align the images properly. You can for example, align them to the left side and distribute them vertically. For proper vertical distribution, make sure the first and the last image sit correctly in their cells. The rest will be proportionally distributed.
Now for the data validation:
Go the cell where you’d like your drop-down to be. Then go to:
Data / Data Tools / Data Validation
Select List from the Settings tab. For data source, select the range where you have your list. In my example that’s:
Step 2: Assign Names to cells
Go back to your images. Each cell with an image needs a name. It’s easiest to assign the text you use for your list as the cell name.
For example cell A3 should get the name “Germany”, A4: “France” and so on.
You can do this the slow way, by selecting each cell and then typing the name inside the name box. Or you can do it the fast way:
Highlight the image cells and your names – in this example A3:B8. Go to:
Formulas / Defined Names / Create from Selection – select right column.
The names are created automatically – so now the text inside B3 is the name of the cell for A3.
Think of names as bookmarks. You have now book marked cell A3 to be “Germany”. Every time you type in Germany inside the name box, you jump to cell A3 on the Master tab.
Step 3: Copy one of the pictures and make it the placeholder image
Now click on one of the flags (doesn’t matter which one) and copy it.
Go to the place you’d like to have your dynamic image and paste it there. This is now your placeholder image. It’s not dynamic yet, but it’ll be soon.
Step 4: Assign a name to INDIRECT formula
The INDIRECT formula is the perfect formula to handle this step.
Because INDIRECT, indirectly gives you the right cell address.
What does that mean?
Whichever cell reference you give to INDIRECT, it tries to translate the text inside the cell to an address. If you type A6 inside cell B2 and write a formula like this:
You get whatever is inside cell A6.
Because INDIRECT uses the text it sees inside cell B2 as an address – i.e. as the new cell reference. Go to cell A6 and type in any text. Now your INDIRECT formula which is referencing B2, is returning what is inside A6. This can be a bit confusing…
Find out more about INDIRECT in this post. You need to think a little outside the box here. Just make sure you’re in the right mood.
Now let’s finalize Step 4. Go to Name Manager, click on new and type in this formula:
It should reference the cell where you have your data validation list. Give it a name. In this example I called my formula “Flag”.
Step 5: Link this name to the placeholder image
Now comes the last step:
Use this new name as a link for your placeholder image:
Click on the image first – then immediately go to the formula box and type in
(The name you used in name manager for your INDIRECT formula)
Test it out now. Select another category from your drop-down list and watch your image change!
That’s magic done in Excel.
Optimizing the image
Remember: You can use your pictures tools options to optimize the image.
You can resize it, crop it, add a frame to it;
Your options are limited to your imagination (and to picture edit tools)….
In the example shown, I’ve resized it and then cropped out the cell borders from the image.
Video and Workbook
Feel free to Download the Workbook HERE.
Try it yourself
I hope you liked this tutorial. What did you think of it?
Do you have any questions?
In any case, give me an idea of how this worked out by leaving a comment below.
Unlock Excel VBA & Macros Course is here!
Now available on Udemy!
Save time. Achieve more. Over 50 Excel macro examples for download & useful VBA codes you can use for your work.
Redeem your coupon for 75% off below.