目次
目的
- A ~ Z の文字を入力したい。
- 数式(= 何とか)で入力する。
その一例
- 白紙のワークシートでテストしてみます。
- A1 ~ Z1 に下記の数式を入力してみます。
=LEFT(ADDRESS(ROW(),COLUMN(),4),IF(COLUMN()<=26,1,2))
- ROW() で数式を入力したセルの「行番号」の数字を取得。
- COLUMN() で「列番号」を数字で取得。
- ADDRESS(行番号 , 列番号)で「セル番地」を文字として取得。
- パラメーター「4」で「$」記号の付いていない相対参照の形式で取得。
- パラメーター「4」で「$」記号の付いていない相対参照の形式で取得。
- LEFT(文字数) で左から数文字取得。
- IF 文で取得文字数分岐。26 番目の文字が Z。
- A1 ~ Z1 の入力結果です。
- IV1 まで入力してみました。
- IV 列は私が使用している Excel 2003 の最大列です。
小文字に変換
- 下記の状態でテストしてみます。
- A2 ~ E2 に数式を入力してみます。
=LOWER(A1)
- 小文字に変換出来ました。
- UPPER 関数で大文字に戻りました。
=UPPER(A2)
- UPPER 関数で大文字に戻りました。
縦並びに変換
- 下記の状態でテストしてみます。
- 「A5」に下記数式を入力して「Enter」キーを押します。
=TRANSPOSE(A3:E3)
- 「A5」セルを選択します。
- 「Shift+↓」キーで「A5」から「A9」を選択します。
- 入れ替え元のセル個数と一致させておきます。
- 「F2」キーを押します。
- 「Ctrl」と「Shift」キーを押しながら「Enter」キーを押します。
- 配列数式と云う入力方法で入力します。
- 「A5」から「A9」に下記の数式が入力されます。
- 配列数式の場合、表示のみ { } で囲まれるようです。数式の入力欄をクリックすると、 { } が外れた状態で表示されます。
- 下記の結果になりました。
参考資料
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。左方向はマイナスが付く。
- 下記マクロでも同じ結果になりました。 R1C1 形式でセル範囲を表記しています。
画像ストック
コピー&ペースト(コピペ)で使えるリスト
テスト環境
- Windows 10(64 ビット)
- Microsoft Office Excel 2003
以上、閲覧ありがとうございました。