Excel column number from column title (original) (raw)

Last Updated : 26 Apr, 2026

Given a column title as appears in an Excel sheet, return its corresponding column number.

column column number

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28

Try It Yourselfredirect icon

**Examples:

**Input: A
**Output: 1
**Explanation: A is the first column so the output is 1.

**Input: AA
**Output: 27
**Explanation: The columns are in order A, B, ..., Y, Z, AA .. So, there are 26 columns after which AA comes.

Base-26 to Decimal - O(n) Time and O(1) Space

The process is similar to binary to decimal conversion. Treat the Excel column title as a **base-26 number, where A = 1, B = 2, ..., Z = 26. For example, to convert AB, the formula is 26 * 1 + 2.

To convert CDA,
3*26*26 + 4*26 + 1
= 26(3*26 + 4) + 1
= 26(0*26 + 3*26 + 4) + 1

Take the input as string and the traverse the input string from the left to right and calculate the result as follows:

result = 26*result + s[i] - 'A' + 1

C++ `

// C++ program to return title to result // of excel sheet. #include <bits/stdc++.h>

using namespace std;

// Returns result when we pass title. int excelColumnNumber(string s) { // This process is similar to // binary-to-decimal conversion int result = 0; for (const auto& c : s) { result *= 26; result += c - 'A' + 1; }

return result;

}

// Driver function int main() { cout << excelColumnNumber("CDA") << endl; return 0; }

Java

// Java program to return title // to result of excel sheet. import java.lang.; import java.util.;

class GFG {

// Returns result when we pass title.
static int excelColumnNumber(String s)
{
    // This process is similar to
    // binary-to-decimal conversion
    int result = 0;
    for (int i = 0; i < s.length(); i++) {
        result *= 26;
        result += s.charAt(i) - 'A' + 1;
    }
    return result;
}

// Driver Code
public static void main(String[] args)
{
    System.out.print(excelColumnNumber("CDA"));
}

}

Python

Python program to return title to result

of excel sheet.

Returns result when we pass title.

def excelColumnNumber(s):

# This process is similar to binary-to- 
# decimal conversion 
result = 0; 
for B in range(len(s)): 
    result *= 26; 
    result += ord(s[B]) - ord('A') + 1; 

return result; 

Driver function

print(excelColumnNumber("CDA"));

C#

// C# program to return title // to result of excel sheet. using System;

class GFG {

// Returns result when we pass title. public static int excelColumnNumber(string s) { // This process is similar to // binary-to-decimal conversion int result = 0; for (int i = 0; i < s.Length; i++) { result *= 26; result += s[i] - 'A' + 1; } return result; }

// Driver Code public static void Main(string[] args) { Console.Write(excelColumnNumber("CDA")); } }

JavaScript

// Function to convert Excel column title to number function excelColumnNumber(s) { let result = 0;

for (let i = 0; i < s.length; i++) {
    result = result * 26 + (s.charCodeAt(i) - 'A'.charCodeAt(0) + 1);
}

return result;

}

// Driver Code console.log(excelColumnNumber("CDA"));

`