はじめに:PCにとって「A」は「A」じゃない?
こんにちは、ぐーです!
毎日エクセルで作業をしていると、「A列、B列、C列…」と順番に処理したい場面が多々ありますよね。
でも、パソコンにとって「A」の次は「B」が来ることは、実は当たり前のことではないんです。
今日は、そんな文字と数字の橋渡しを行ってくれる、事務作業の強い味方、「Asc関数」と「Chr関数」について解説します。これを知るだけで、面倒な連番作成が一瞬で終わります!
結論:文字には「背番号」がある
まずは、この2つの関数の役割をシンプルなイメージで理解しましょう。
- Asc関数:文字 → 背番号(数字)に変える
- Chr関数:背番号(数字) → 文字に変える
コンピュータの世界では、すべての文字に「文字コード」という背番号が振られています。例えば、半角の「A」の背番号は「65」です。
つまり、「A」の次は「B」と考えるのではなく、「65」の次は「66」と数字で捉えることで、パソコンはスムーズに命令を理解してくれます。
1. Asc関数:文字の正体(背番号)を知る
「この文字のコード(背番号)は何番?」と調べるのがAsc関数です。
使い方(VBA):
MsgBox Asc("A") ' 結果は 65 と表示されます
MsgBox Asc("B") ' 結果は 66 と表示されます
MsgBox Asc("a") ' 小文字のaは 97 です
2. Chr関数:背番号から文字を呼び出す
逆に、「背番号65番の文字を表示して!」と呼び出すのがChr関数です。実務ではこちらを使う機会が非常に多いです。
使い方(VBA):
MsgBox Chr(65) ' 結果は A と表示されます
MsgBox Chr(66) ' 結果は B と表示されます
【実践】Excelの列を自動で埋める魔法
ここからが本番です。。「A」から「Z」まで自動でセルに入力したい時、これまでは手入力していませんでしたか?
Chr関数を使えば、次のような短いコードで一瞬にして完了します。
コピペで使えるVBAコード:
Sub AlphabetLoop()
Dim i As Integer
' 65(A) から 90(Z) まで繰り返す
For i = 65 To 90
' A列の1行目から順に、A, B, C... と入力していく
' i - 64 とすることで、1行目、2行目...と調整しています
Cells(i - 64, 1).Value = Chr(i)
Next i
End Sub
解説:
- For i = 65 To 90:背番号65番(A)から90番(Z)までカウントアップします。
- Chr(i):その時の背番号に対応する文字(A, B, C…)を呼び出しています。
これを使えば、「商品A」「商品B」といった連番作成も、ミスなく一瞬で完了します。
まとめ:背番号を知れば、文字も計算できる!
- Ascは「文字」を「数字」にする。
- Chrは「数字」を「文字」にする。
- 「A」は「65」から始まると覚えておくと便利!
最初は「文字コード?難しそう…」と思うかもしれませんが、要は「文字に振られた背番号」のことです。
この仕組みを理解すると、文字を数字として計算できるようになり、Excel操作の自由度が飛躍的に向上します。ぜひ試してみてください!
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

コメント