複数行を箇条書きにして1つのセルに入れたよ

Macintosh

1行ずつに分かれているデータを1つのセルにまとめ、見やすくしたいと思ったことはありませんか?

スポンサーリンク

やったこと

Before
After

例えばこんな感じで、どの生徒がどの委員を経験したか。それを一覧表にしてみました。ただし、セルの結合は使いません。後々このデータを利用しやすくしておきたいからです。

さてと、どうしましょうかね?

COUNTIFで数を数える

まずは、各生徒が経験した委員会の個数を「COUNTIF」関数で数えます。

列Cを追加し、セルC2に下記の数式を入力します。数える範囲はセルA2からA8までのみなので「$$」を付けましょうね。

=COUNTIF($A$2:$A$8,A2)

セルC2の右下の「■」を行8までドラッグすると、各生徒が経験した委員会の個数がズラズラっと表示されます。みんなけっこう活躍しているんですね〜。

IFSの方が理解しやすい

後は役員名を1つのセルにまとめるだけ。これには「IFS」関数を使いました。

「IF」関数だとネスト(=入れ子)になってゴチャゴチャするんすが、「IFS」関数だとテーブルのような構造なので、パッと理解しやすい…ように思います。

1セルに収まったけど…

前述の通り、生徒が経験した委員会の個数をCOUNTIFで数えてみたら、最大「3」ということが分かりました。つまり、ある生徒について、やりたいことを日本語で表現すると下記のようになります。

  • 委員会の経験数が「1」のときは、役員名の1行目をセットする。
  • 委員会の経験数が「2」のときは、役員名の1行目と2行目をセットする。
  • 委員会の経験数が「3」のときは、役員名の1行目と2行目と3行目をセットする。

これを関数で表現すると下記のようになります。セルどうしを連結するには「&」を使います。

=IFS(C2=1,B2,C2=2,B2&B3,C2=3,B2&B3&B4)

結果がこちら。

ん〜、これだと複数の役員名がつながってしまい、意味不です…( ̄▽ ̄;)

CHAR(10)で改行する

つながった役員名を改行するには「CHAR(10)」を使えばオーケーです。

=IFS(C2=1,B2,C2=2,B2&CHAR(10)&B3,C2=3,B2&CHAR(10)&B3&CHAR(10)&B4)

結果がこちら。

ん? おかしいな。まだ改行されていませんね( ̄O ̄;)

折り返して表示する

折り返したい範囲を選択し、上部「ホーム」>「配置」>「折り返して全体を表示する」を押すと改行されますよ。

これだと見栄えがよくないので、仕上げに、姓名が重複している行を削除します。

値のみコピペする

ちょうど範囲選択したままの状態になっているので、そのままコピーし、右隣の列Eに「値」のみ貼り付けます。するとこんな感じになります。

重複している行を削除する

「データ」>「データツール」>「重複の削除」>「姓名」のみチェックを付ける>「OK」。

すると重複している行が削除されます。「OK」で離脱しましょう。

完成!

不要な列B、C、Dを非表示にするか削除すればこんな感じで完成です!

コメント

タイトルとURLをコピーしました