Excel。オートフィルの連続コピーでABCを手早く入力したい
<CHAR+CODE+ROW関数>
AからZまでを手早く入力するには、オートフィルだけでは連続コピーすることはできません。
数値ならばいいのですが…
そこで、次のような数式を設定するだけで、オートフィルで数式をコピーするだけで、連続コピーすることができます。
A2に設定した数式は、
=CHAR(CODE("A")+ROW()-2)
です。
この数式を必要に応じて、オートフィルで数式をコピーすると、A~Zまでの連続したアルファベットを入力することができます。
では、数式を確認しておきましょう。
まず、CHAR関数は、数値を該当する文字に変更する関数です。
そこで、CODE(“A”)ですが、CODE関数は、文字を文字コードの数値に変換する関数です。
CODE(“A”)は、Aの文字コードを返す関数です。
なお、Aは65です。
よって、CHAR(65)とすれば、Aという文字を返してくれます。
ただ、=CHAR(CODE("A") だけだと、オートフィルで数式をコピーしても、すべてAが表示されるだけで、BC…は表示してくれません。
Bの文字コードは、66で、Cの文字コードは67です。
つまり、前の文字に「+1」されています。
どうやって、「+1」すればいいのでしょうか。
下方向に、オートフィルで数式をコピーする場合には、行番号を算出するROW関数が使えないかを考えるといいです。
A2に数式を設定します。
A2は2行目なので、ROW関数をつかえば、2と返してくれます。
A2は「A」を表示したいので、65+0にしたいわけです。
A3は「B」を表示したいので、65+1にしたいわけです。
ということで、
=CHAR(CODE("A")+ROW()-2)
とROW関数の値から「-2」することで、Aを基準としてプラスする値をつくることができます。
このように、Aからのアルファベットを連続コピーで作る場合には、
CHAR関数
CODE関数
ROW関数
を組み合わせることで、対応することができます。