🍟

エクセルやスプレッドシートの列番号から列名を算出するコード

2022/02/05に公開

したいこと

必要になって、エクセルやスプレッドシートの列番号に対応する列名が何かを知りたくなった。
例えば、1列目の列名はA、359220列目の列名はTKJDである。この、数字から文字列を算出する。

コード

コードはJavascriptで書いているが、PythonだろうがCだろうが、移植すれば動くはず。

const num2collet = (num) => {
let p;
if(num > 26) {
    const r = num % 26;
    p = `${num2collet((num - r) / 26)}${String.fromCharCode(64+r)}`
} else {
    const r = num % 26;
    p = `${String.fromCharCode(64+r)}`;
}
return p;
}

使うときは

console.log(num2collet(35922));

のように使えば

'BACP'

と表示される。

Discussion