In Google Sheets, rows are indexed numerically, starting from 1, but columns are indexed alphabetically, starting from A. Hence, it is pretty straightforward to work with rows and trickier to work with columns as we need to convert between column index and corresponding letters. For example, what are the letters of column 999th in Google Sheets? In this post, we will look at how to convert a column index into its corresponding letters by using the built-in functions of Google Sheets.
What are letters of the column 999th in a spreadsheet?
Table of Contents
Concept
Unfortunately, Google Sheets does not provide a ready-to-use function that takes a column index as an input and returns corresponding letters as output. However, there is a little trick of combining other available built-in functions to do the task.
In Google Sheets, there is the ADDRESS function that returns the cell reference, according to the specified row index (first parameter) and column index (second parameter) in the input. For example, ADDRESS(1, 100) returns $CV$1 as the address of the cell between the first row and the 100th column. With that result, we can say that the letters corresponding to the 100th column are CV. To find letters of other columns, we can change only the second parameter (column index) and keep the first parameter (row index) constantly at 1 (the first row).
Next thing, we need to find a way to extract letters from the address of the cell. How can we extract CV from $CV$1? It is quite obvious that the $ sign is used to separate the column letters and the row index. With that remark, we have two ways to extract letters:
- The first way is to split $CV$1 by the $ sign to obtain an array of ['CV',1] and then keep only the first element. We can do these two actions with the built-in functions SPLIT and INDEX. SPLIT("$CV$1","$") returns a table of one row, two columns, and the letters CV is found at the first row and the first column of that table. We use then the INDEX function to get the content of that cell.
CV=INDEX(SPLIT("$CV$1","$"),1,1)
- The second way is to use a regular expression to find the first substring of $CV$1 that is between two $ signs. Google Sheets provides the function REGEXEXTRACT and the regular expression to express "any text between two $ signs" is \$([A-Za-z]+)\$.
CV=REGEXEXTRACT("$CV$1","\$([A-Za-z]+)\$")
Combine all of these built-in functions, the formulas to find out the letters of the column 999th are:
- =REGEXEXTRACT(ADDRESS(1,999),"\$([A-Za-z]+)\$")
- =INDEX(SPLIT(ADDRESS(1,999),"$"),1,1)
The table below shows some examples of the above two formulas.
Column Index | Column Letters | Formula To Convert Column Index To Letters |
1 | A | =REGEXEXTRACT(ADDRESS(1,1),"\$([A-Za-z]+)\$") |
26 | Z | =REGEXEXTRACT(ADDRESS(1,26),"\$([A-Za-z]+)\$") |
27 | AA | =REGEXEXTRACT(ADDRESS(1,27),"\$([A-Za-z]+)\$") |
50 | AX | =REGEXEXTRACT(ADDRESS(1,50),"\$([A-Za-z]+)\$") |
1000 | ALL | =REGEXEXTRACT(ADDRESS(1,1000),"\$([A-Za-z]+)\$") |
2000 | BXX | =REGEXEXTRACT(ADDRESS(1,2000),"\$([A-Za-z]+)\$") |
5000 | GJH | =REGEXEXTRACT(ADDRESS(1,5000),"\$([A-Za-z]+)\$") |
1 | A | =INDEX(SPLIT(ADDRESS(1,1),"$"),1,1) |
26 | Z | =INDEX(SPLIT(ADDRESS(1,26),"$"),1,1) |
27 | AA | =INDEX(SPLIT(ADDRESS(1,27),"$"),1,1) |
50 | AX | =INDEX(SPLIT(ADDRESS(1,50),"$"),1,1) |
1000 | ALL | =INDEX(SPLIT(ADDRESS(1,1000),"$"),1,1) |
2000 | BXX | =INDEX(SPLIT(ADDRESS(1,2000),"$"),1,1) |
5000 | GJH | =INDEX(SPLIT(ADDRESS(1,5000),"$"),1,1) |
Conclusion
Although Google Sheets does not provide a ready-to-use function that takes a column index as an input and returns corresponding letters as output, we can still do the task by using other built-in functions in Google Sheets such as: ADDRESS function, INDEX function, REGEXEXTRACT function, and SPLIT function.
If you are looking for a solution that works with Google Apps Script, please read the post How to convert column index into letters with Google Apps Script.
Disclaimer
The post is only for informational purposes and not for trading purposes or financial advice.
Feedback
If you have any feedback, question, or request please:
- leave a comment in the comment section
- write me an email to allstacksdeveloper@gmail.com
Support this blog
If you value my work, please support me with as little as a cup of coffee! I appreciate it. Thank you!
Share with your friends
If you read it this far, I hope you have enjoyed the content of this post. If you like it, share it with your friends!
Comments
Post a Comment