エクセルの列名(アルファベット)取得
🟢 PowerShell
投稿日: 2026年4月13日7:24
function GetA1([int] $n) {
if($n -gt 26){
$divs=[Math]::Truncate($n / 26)
$C1= [System.Convert]::ToChar([int]$divs+64)
if($C1 -eq "@"){$C1="Z"}
$rest=$n % 26
$C2= [System.Convert]::ToChar($rest+64)
if($C2 -eq "@"){$C2="Z"}
$A1=$C1+$C2
return $A1
}else{
$rest=$n % 26
$C1= [System.Convert]::ToChar($rest+64)
if($C1 -eq "@"){$C1="Z"}
return $C1
}
}
数字をアルファベットに変換している。
26より大きければ2桁の処理。
※ 3桁には対応していない。
数値を26で割って切り捨てたものを2桁目の文字コードとして、Charに変換している。(64を足すと良い感じになる)
26の余りを1桁目として処理している。
何故か、Z が @ とされてしまうので、個別に対応している様子。
26より大きければ2桁の処理。
※ 3桁には対応していない。
数値を26で割って切り捨てたものを2桁目の文字コードとして、Charに変換している。(64を足すと良い感じになる)
26の余りを1桁目として処理している。
何故か、Z が @ とされてしまうので、個別に対応している様子。
エクセルをオブジェクトとして呼んで、
列名の処理をすればよかっただけじゃ ねぇ?