目的
- A ~ Z の文字を入力したい。
- 数式(= 何とか)で入力する。
その一例
- 白紙のワークシートでテストしてみます。

=LEFT(ADDRESS(ROW(),COLUMN(),4),IF(COLUMN()<=26,1,2))
- ROW() で数式を入力したセルの「行番号」の数字を取得。
- COLUMN() で「列番号」を数字で取得。
- ADDRESS(行番号 , 列番号)で「セル番地」を文字として取得。
- パラメーター「4」で「$」記号の付いていない相対参照の形式で取得。
- パラメーター「4」で「$」記号の付いていない相対参照の形式で取得。

- IF 文で取得文字数分岐。26 番目の文字が Z。




- IV 列は私が使用している Excel 2003 の最大列です。
小文字に変換
- 下記の状態でテストしてみます。

=LOWER(A1)

- UPPER 関数で大文字に戻りました。
=UPPER(A2)

縦並びに変換
- 下記の状態でテストしてみます。

=TRANSPOSE(A3:E3)
- 入れ替え元のセル個数と一致させておきます。
- 配列数式と云う入力方法で入力します。

- 配列数式の場合、表示のみ { } で囲まれるようです。数式の入力欄をクリックすると、 { } が外れた状態で表示されます。

参考資料
VBAで入力
- 下記マクロを実行してみます。
Sub AからZ入力_行列入れ替え()
Range("A11:E11").Formula = "=LEFT(ADDRESS(ROW(),COLUMN(),4),IF(COLUMN()<=26,1,2))"
Range("A12:E12").Formula = "=LOWER(A11)"
Range("A13:E13").Formula = "=UPPER(A12)"
Range("A15:A19").FormulaArray = "=TRANSPOSE(A11:E11)"
End Sub- Range() で操作対象を指定。
- Formula で数式入力。
- FormulaArray で配列数式入力。
- 下記の結果になりました。

- 下記マクロでも同じ結果になりました。 R1C1 形式でセル範囲を表記しています。
Sub R1C1_AからZ入力_行列入れ替え()
Range("A11:E11").Formula = "=LEFT(ADDRESS(ROW(),COLUMN(),4),IF(COLUMN()<=26,1,2))"
Range("A12:E12").Formula = "=LOWER(R[-1]C)"
Range("A13:E13").Formula = "=UPPER(R[-1]C)"
Range("A15:A19").FormulaArray = "=TRANSPOSE(R[-2]C:R[-2]C[4])"
End Sub- R[-1] はそのセルの一行上。Row。下方向はマイナスが付かない。
- [ ] が付いていない C は列の変化なし。
- C[4] は四列右。Column。左方向はマイナスが付く。
画像ストック






コピー&ペースト(コピペ)で使えるリスト
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。
