Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)で1列に入力されているデータを、2列や3列などの複数列に分ける方法です。INDEX関数を使用することで、簡単に複数列に分けることができますよ。
例えば、下のように1列に入力されたデータを、右のように3列に分けたい場合のやり方です。
メンバー発表の印刷物なんかに使えそうだにゃ
データを配置する順番表を作成
今回は、下の「B」列に入力された名前を右のように3列に分けてみます。
まず、下のようにデータを配置する順番を入力した表を用意しなければなりません。
「えっ、それって面倒」と思うかもしれませんが、そんなに手間はかかりません。
2行分のデータを入力してしまえば、
そのデータを選択して、
右下のフィルハンドルへマウスを移動して、
必要な分まで下にオートフィル機能を使用してコピーします。
※2行入力してオートフィル機能でコピーすると、それぞれのセルの加減を計算した連続番号を振ってくれます
あっという間ですね。
コピーできたら、余計な端数の数字は削除しておくと良いでしょう。
また、2列にしたい場合は、下のような表を作成すれば良いですし、
4列にしたい場合は、下のような表を作成することになります。
どのパターンであっても、2行分のデータだけ入力してコピーすれば良いので、それほど時間はかかりません。
作成した表を基に、INDEX関数を使用する
では、作成した配置表を基にしてスタートです。
新たにデータを配置する場所を選択したら、[関数の挿入]ボタンをクリック。
[関数の挿入]画面では、[関数の分類]を[検索/行列]にするか、[すべて表示]に切り替えて「INDEX関数」を選びます。
INDEX関数の引数入力画面は2つから選ぶことができます。
今回は、最初の[配列,行番号,列番号]が選ばれている状態で[OK]をクリック。
INDEX関数・・・指定した範囲からセルの値を取り出す。
INDEX(配列,行番号,[列番号])
- 配列・・・セル範囲、または配列定数を指定(範囲が1行もしくは1列の場合、それぞれ行番号、列番号を省略できる)
- 行番号・・・配列の中にあり、値を返す行を数値で指定
- 列番号・・・配列の中にあり、値を返す列を数値で指定[省略可能]
[配列]の場所には、配置したいデータ全体を選択します。【F4】キーを押して「$」記号を付けて絶対参照にすることを忘れないようにします。
後で下と右にコピーするので、セル参照がずれると困ってしまうのですね。
※絶対参照について詳しい説明が必要な方は、Excel(エクセル)で計算する方法 ③|絶対参照の使い方をご覧ください。
[行番号]には、配置を記した表の最初のセルを選択します。
[列番号]は何も入力せずに[OK]をクリック。
完成した関数は、
=INDEX($B$2:$B$21,D2)
となります。
最初のデータが表示されたら、右にオートフィル機能を使用してコピーして、そのまま下にもコピー。
すべてのデータが表示されます。
必要のない最後のデータを削除して、列幅を調整したのが下の画像です。
このまま、関数で表示した状態だとデータを移動する時に困るので、文字データに変更した方が良いですね。
新しく作成した表全体を選択して、[コピー]ボタンをクリック。
[貼り付け]ボタンの下部分をクリックして、表示されたメニューから[値]を選択。
これで関数が削除されて、文字データになります。
最初に作成した配置の順番表は必要ないので、それを上書きする感じで上に移動してみました。
まとめ
今回のような、1列を複数列に分ける方法はいくつか考えられますが、今回はINDEX関数を使用した方法を紹介しました。
多人数のデータを処理する場合に役立ちますよ。
それほど多くないデータであれば、データ全体を割り算して、それぞれの範囲を選択して移動した方が早いかもしれません。
データの量や全体のデザインなどに応じて使用を考えたいですね。
慣れると簡単に設定できるにゃ