Column Letter Converter
Convert column letters to numbers, expand ranges into cell lists, and translate between A1 and R1C1 reference styles.
Letter ↔ Number
Column AA = 27
Range Expander
3 rows × 3 columns = 9 cells
A1, B1, C1, A2, B2, C2, A3, B3, C3
A1 ↔ R1C1
R1C1
Relative R1C1 parts like R[-1]C[2] are measured from the anchor cell.
Letters, Numbers, and Why AA Is 27
Excel numbers its columns in bijective base 26: twenty-six digits, A through Z, and no zero. A is 1, Z is 26, and because there is no digit for nothing, the next column has to add a place - AA is 27, not 26. Every awkward boundary follows from that missing zero, which is why counting letters by hand goes wrong around Z, AZ, and ZZ. The converter accepts either direction: type letters and get the number, type a number and get the letters. Input is trimmed and case-insensitive, and anything outside 1 to 16,384 is rejected rather than wrapped around.
| Letters | Number | Why |
|---|---|---|
| Z | 26 | Last single-letter column |
| AA | 27 | 26 x 1 + 1 - the first two-letter column |
| AZ | 52 | 26 x 1 + 26 |
| BA | 53 | 26 x 2 + 1 |
| ZZ | 702 | 26 x 26 + 26 - last two-letter column |
| XFD | 16,384 | The last column a modern sheet has |
A worksheet is 16,384 columns by 1,048,576 rows, and both limits are enforced here: XFE and row 1,048,577 come back as out of range, which is a quick way to check whether a generated reference is actually addressable before you paste it into a formula.
Expanding a Range Into Cells
Give the expander two full references - A1:C3 - and it lists every cell between them, reading left to right then down: A1, B1, C1, A2, and so on. It also reports the shape, so A1:C3 reports 3 rows x 3 columns = 9 cells. References in either order work, since the corners are normalized before expanding, and sheet prefixes and dollar signs are accepted and ignored for this purpose. The output list is bare references, joined by commas or one per line, ready to paste into a formula argument, a script, or a test fixture. Two limits: whole-column and whole-row forms such as A:A and 1:1 cannot be expanded because they have no bounds to enumerate, and the visible list stops at 1,000 cells while the reported total stays exact.
A1 and R1C1
R1C1 addresses a cell by row and column number instead of a letter and a number, and it distinguishes absolute from relative by notation rather than by dollar signs. A plain number is absolute - R1C1 is $A$1 wherever it appears. A number in square brackets is an offset from the current cell, so R[-1]C[2] means one row up and two columns right, and an omitted bracket means no movement in that direction: RC[-1] is the cell immediately to the left. Set the anchor cell to the cell the formula lives in, and the two boxes convert in both directions against it.
This is the notation macros use, and it is worth reading fluently for one reason: in R1C1, a relative formula copied down a hundred rows has the same text in every row. That makes it obvious at a glance whether a column of formulas is consistent - the thing A1 notation actively hides.
When a Different Tool Fits Better
If you have the column number in a cell and want the reference to be live, the INDIRECT generator builds it from a number, and the OFFSET generator moves a given number of rows and columns from an anchor without any letters at all. Better still, avoid column letters in lookups entirely with INDEX and MATCH, which addresses by position and survives inserted columns. To understand a reference you have inherited rather than build one, paste it into the formula explainer, and when you want to actually keep, drop, or reorder those columns in a file, use Excel Column Extractor.
Frequently Asked Questions
Because Excel columns are bijective base 26 - there is no zero digit. A to Z are 1 to 26, and the next value needs a second place, so AA is 26 x 1 + 1 = 27. That absence of a zero is why the conversion is not the same as ordinary base 26, and why letter arithmetic done by hand tends to be off by one around the Z boundaries.
No. The range expander needs two complete cell references with row numbers, such as A1:A100. A:A has no rows to enumerate, and expanding it would mean listing 1,048,576 cells.
The listing stops at 1,000 cells so the page stays responsive, and the line above the list tells you the true total. The row and column counts and the total are always exact, even when the list is cut short.
One row up and two columns right of wherever you are. Square brackets are relative offsets from the anchor cell, plain numbers are absolute positions: R1C1 is $A$1 no matter where it sits. That is why a relative formula copied down a column reads identically in R1C1 in every row.
Yes on input - Sheet1!A1, 'Q1 Data'!$B$4, and $A$1 all parse. The expanded cell list is written as bare references without the sheet prefix, while A1 to R1C1 conversion uses the dollar signs to decide which parts are absolute.