Excel Xpert · Lesson 111 · Part 1
Excel has no QR button on the ribbon, but it can still build QR codes from your data with a formula, no add-in and no subscription. Point it at a cell and the code assembles itself, which means a column of two hundred asset tags generates in the time it takes to fill a formula down. Thirty-three seconds of video below, then the written steps.
Lesson 111, Part 1 · 33 seconds. The video shows how to generate a QR code from the contents of a cell in Excel, so the code is built by formula rather than pasted in as a picture and redraws on its own when the source text changes. The written steps below cover the same method in more detail, plus encoding, sizing for print, and how to lock the codes down as static images.
The same free Excel Xpert companion workbook used in the video, one tab per lesson. No login, no email required.
There is no QR code button in Excel, which is why most people end up on a QR website making one code at a time and pasting the results in by hand. That works for one code and falls apart at fifty.
The approach in this lesson uses a formula instead. A QR service turns a web address into an image, so if you build that address out of a cell reference, the image it returns is a QR code for whatever that cell contains. Wrap the assembled address in the IMAGE function and Excel draws the result inside the cell.
The consequence is what makes it worth learning. The code is tied to the data rather than sitting on top of it. Change the link in the cell and the QR code redraws. Sort or filter the sheet and the codes travel with their rows, because a picture placed by IMAGE lives in the cell rather than floating above the grid. Fill the formula down two hundred rows and you have two hundred distinct codes.
The tradeoffs are real and worth knowing upfront. The formula method needs Microsoft 365 for the IMAGE function, it needs an internet connection because the picture is fetched each time, and it depends on an outside service continuing to exist. All three are solved by converting the finished codes to static pictures, covered at the end of this page.
Six steps. Step four is the one that stops the mysterious blank cells.
Type the URL, serial number, asset tag or product code into a cell, say A2. Keeping it in a cell rather than typing it inside the formula is the entire point, because that is what lets the code update and lets you fill the formula down a whole column.
Join the QR service address to the cell reference with the & operator, so the finished address ends with whatever A2 contains. This is ordinary text concatenation, the same as joining a first and last name.
Pass the assembled address to IMAGE and Excel renders the picture inside the cell. This is the difference from Insert > Pictures, where the image floats above the grid and slides out of position the moment anyone sorts or filters.
Wrap the cell reference in ENCODEURL. Spaces, ampersands, question marks and slashes are all meaningful inside a web address, so an unencoded value with a space in it silently produces a broken address and an empty cell.
An IMAGE code fills its cell, so raise the row height and column width to give it room. Also request a larger image in the address itself, because scaling a small source up is what produces the soft, unscannable codes people blame on their printer.
Copy the formula down and every row generates its own code from its own cell. Before printing five hundred labels, print one page and scan it with a phone, since screen and paper behave differently.
| Stage | What You Write | Result |
|---|---|---|
| Source value | A2 contains your link or code | The text the QR will carry |
| Join the address | "...qr service address..." & A2 | A full web address ending in your value |
| Render it | =IMAGE( that address ) | The QR code drawn inside the cell |
| Make it safe | =IMAGE( address & ENCODEURL(A2) ) | Spaces and symbols no longer break it |
| Fill down | Drag or Ctrl + D | One unique code per row |
The exact service address is shown in the video and in the companion workbook. The structure matters more than the specific service: an address that accepts your text, an ampersand joining it to a cell, ENCODEURL protecting it, and IMAGE drawing the result. Swap the service and the same formula shape still works.
Four causes, in the order worth checking.
IMAGE requires Microsoft 365. On Excel 2019 or 2021 the formula returns #NAME?, because Excel does not recognize a function it does not have. That is a version problem rather than a typing mistake, and the fix is a barcode font or an add-in instead.
Excel blocks pictures from the internet in files that came from outside your organization until you enable content in the yellow bar. Nothing renders until you do, and on a locked down corporate machine it may be blocked by policy entirely.
A space, an ampersand or a question mark inside the cell truncates or mangles the address, producing a blank cell with no error message. ENCODEURL exists precisely for this and is the single most common omission.
Filling the formula down past the end of your data creates addresses with nothing on the end, which return nothing. Wrapping the whole thing in IFERROR, or testing the cell with IF first, keeps the sheet clean.
The gap between looking right on screen and working on paper.
Most QR services accept a size parameter in the address. Ask for a larger image than the cell needs so Excel scales it down, since a downscaled code stays crisp and an upscaled one turns to mush at print resolution.
Scanners need blank margin around the code to find its edges. A code butted against a cell border or a colored fill frequently fails to read even though it looks perfectly fine to a human.
The more text a QR code carries, the denser its pattern and the harder it is to scan when printed small. A short link beats a long one with tracking parameters, especially on a small asset label.
Scan a printed sample at the actual label size, on the actual paper or sticker stock, in the lighting where it will be used. Glossy label stock and a shelf in a dim warehouse both cause failures that never show up on a desk.
Making them permanent before the file leaves your hands.
Copy the cells and use Paste Special as a picture. The codes stop depending on an internet connection and an outside service, which is what you want before archiving a file or sending it to a printer.
A static code no longer updates when the cell changes. That is a feature for a batch of labels already printed and a problem for a live inventory sheet, so convert copies rather than the working file.
A PDF renders the codes for a recipient regardless of their Excel version or their external content settings, which removes every version and permission issue in one step.
One space in the source value is enough to break the address, and it fails silently with an empty cell rather than an error. This is the first thing to check when a single row refuses to generate.
A floating picture does not belong to a row, so it stays put when the sheet is sorted or filtered and every code ends up attached to the wrong record.
Five hundred labels that will not scan cost far more than one test page. Print one, scan it at final size on final stock, then run the batch.
Scaling a small source up gives soft edges that scanners struggle with. Ask the service for a large image and let Excel shrink it instead.
The recipient needs Microsoft 365 and permission to load external content, or they see empty cells. Convert to pictures or send a PDF.
A long address produces a dense code that fails at small print sizes. Shorten the link first, which makes the pattern simpler and far more forgiving.
A printed code is a workaround for a record nobody can reach.
Free 14-day trial. No credit card required.
Build an image URL that includes the contents of a cell, then use the IMAGE function to display it. The QR code renders in the cell and refreshes whenever the source text changes.
There is no QR button on the ribbon. Excel generates them by pulling an image from a QR service with the IMAGE function, or through a barcode font or an add-in from the Office store.
IMAGE places a picture from a web address inside a cell rather than floating on top of it, so it sorts, filters and moves with the row like any other value. It needs Microsoft 365.
Yes, when the code is built with a formula. Change the text in the source cell and the image URL changes with it, so the QR code redraws to match.
For the formula method, yes, because the image is fetched from a web service each time. To work offline, generate the codes once and paste them in as pictures.
Usually the version does not support IMAGE, the workbook is blocking external content, or the text contains characters that break the URL. Spaces and ampersands need encoding.
Increase the row height and column width, since an IMAGE function code fills its cell. Also raise the size parameter in the URL so the source image is not scaled up and blurred.
Yes, if the source image is large enough. Request a bigger image than needed on screen, keep a quiet margin of white around it, and test a printed sample with a phone before running a batch.
Yes. Fill the formula down a column and each row generates its own code from its own cell, which is the main advantage over a website that makes one at a time.
The codes only appear if the recipient has a supported Excel version and allows external content. Convert them to static pictures before sending outside your team.
Copy the cells and use Paste Special as a picture, or take a screenshot with the Camera tool. The code then stops depending on a web service and stops updating.
Asset tags, inventory labels, event check in lists, equipment logs and printed forms that link back to a record. Anything where a printed row needs to point at something digital.
Every business starts with a spreadsheet. Updoot is where you scale past it, with records your team can reach without a printed label.
Start Your Free Trial →