Excelの「区切り位置指定ウィザード」は、最近では、大量のデータを処理したり、データの形式を統一するデータクレンジング(クリーニング)の時に使われる機能です。この機能は、すでにExcel2000より前には搭載されていましたが、紹介する書籍等が少なかったこともあり、知っている人があまりいないようです。
確かに、文字列操作関数(FINDやRIGHTなど)やマクロを使うことによって、区切り文字の前後の文字列を取得することは可能です。しかし、1~2回区切るだけでわざわざ長い数式を打つのは時間の無駄です。状況に応じて臨機応変に、数式で処理するのか、区切り位置指定ウィザードで処理するのかを判断したほうが良いと思います。
そこで、今回は、あらためて区切り位置指定ウィザードの基本をおさらいするとともに、並べ替えやその他の応用事例について出題します。
目次
問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。
- 1.区切り位置指定ウィザード
- 2.分割してから順序を変えて連結
- 3.区切り位置指定ウィザードを使った並べ替え
- 4.オートフィルの連続データと並べ替え
- 5.セル内改行で区切って並べ替える
- 6.区切り位置指定ウィザードを使った応用事例
- 7.動画版はこちら(無料)
1.区切り位置指定ウィザード
問題
次の図で、A列の文字列は、途中にスペースが何個か入っている。
次の図のようにB列とC列に分けなさい。
解説
A列を選択します。区切り位置(データタブ)を選びます。
区切り位置指定ウィザードが表示されます。
スペースで区切られています。このような文字を区切り文字(デリミタ delimiter)といいます。
Excelではこのように1つのセルに2つの情報を入力してはいけません (1セル1情報の原則、わえなびファンダメンタルExcel Program7-4の動画参照) 。2つのデータを入力する場合は、通常、区切り文字を使わず2列で入力すべきです。区切り位置指定ウィザードは、本来、2列で入力したほうが良いものを強制的に分離するときに使う機能です。
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」が選択されていることを確認して、次に進みます。
スペースにチェックを入れます。次に進みます。
表示先を消して、セルB1をクリックします。完了します。
スペースの前後で分離されました。これで完成です。
区切り位置指定ウィザードの、第1画面では区切り文字のほうが選ばれていることに注意します。
第2画面で区切り文字を選びます。「スペース」は全角も半角も含まれます。
また、スペース以外にチェックがあるかどうかは関係ありません
区切り文字のスペースが連続している場合は、まとめて1個の区切りとして扱います。
第3画面で貼り付ける範囲の左上のセルを指定します。
2.分割してから順序を変えて連結
問題
次の図のように、カンマで区切られた文字列がある。順序を逆にしなさい。
解説
カンマで区切られていますので、いったんカンマで分離します。
A列を選択します。「区切り位置」を選びます。次に進みます。
カンマにチェックを入れます。次に進みます。
表示先を消して、セルB1を選びます。完了します。
カンマの前後で分離されました。
この3つを、順序を逆にして、カンマで連結する計算式を入力します(参考:【Excel】文字列結合、スペース・改行・ダブルクォーテーションの連結)。
オートフィルをします。これで完成です。
3.区切り位置指定ウィザードを使った並べ替え
問題
A列の番号は、アルファベット1文字と3桁の数をハイフンで連結している。ハイフンの後の数で昇順にしなさい。
解説
並べ替えは列単位でキーを指定するため、ハイフンの後の数字で並べ替えをするには、2列に分ける必要があります。
A列を選択します。「区切り位置」を選びます。次に進みます。
区切りとなっている文字はハイフンですが、この中にないので、その他にチェックを入れます。半角でハイフンを入力します。次に進みます。
表示先を消して、セルB2を選びます。完了します。
ハイフンの前後で分離されました。
数字の部分だけ分離することができました。これで並べ替えをします。C列の昇順にします。
これで完成です。分離した列は非表示にしても構いません。
4.オートフィルの連続データと並べ替え
(1)オートフィルの連続データが並べ替えの昇順とは限らない
問題
IPアドレスの形式で「192.168.11.1」と入力して、オートフィルをすると連番になった。
ところが、昇順で並べ替えをすると、順番が変わる。このように、オートフィルで連続データ(連番を含む文字列)を入力したあとで、昇順で並べ替えると順序が変わることがある。その理由を述べなさい。
解説
数字と文字列が混ざったセルをオートフィルすると、最後の数字が1ずつ加算されます。
オートフィルで入力した単なる数値の連続データの場合、2<10なので、2よりも10のほうが下になります。昇順で並べ替えをしても変わることはありません。
しかし、文字列の場合、先頭の文字から順に判定していきます。
2>1なので、昇順で並べ替えをすると2(ニ)よりも10(イチ・ゼロ)のほうが上になります。オードフィルで連続データを入力したからと言って、それが並べ替えの時の昇順であるとは限らないのです(参考:【Excel】数値と文字列の違い、数値と文字列の変換方法の総まとめ)。
(2)分離して並べ替える
問題
正しく並べ替える方法を述べなさい。
解説
これを正しく並べ替えるには、ドットで分離して数値にすればよいです。A列を選択します。区切り位置です。次に進みます。
その他にチェックを入れます。今度はドットです。次に進みます。
表示先を消して、B2を選びます。
4つに分かれます。
3番目までは同じですから、4番目の数値で昇順にすれば正しく並べ替えができます。
これで完成です。
(3)そもそも表の作り方が間違っている
問題
このリストを正しく作り直しなさい。
解説
ところで、このようなリストを作る場合には、並べ替えることを前提として作るべきです。並べ替えを前提とする場合、連番とそれ以外の部分を1つの列で入力し、オートフィルをするのは間違いです。
共通する部分と変わる部分(連番)を分けて入力します。
A列は、B列とC列を計算式によって連結すればよいです。※共通部分を1か所にして絶対参照するという方法もあります。
これで並べ替えが可能となります。
5.セル内改行で区切って並べ替える
問題
次の図で、月と金額がA列に入っている。金額の降順で並べ替えなさい。
解説
10月の後に改行を入れます。
改行はAltキーを押しながら、Enterキーを入れます。
セルの中で改行するには、Altキーを押しながらEnterキーを押します(参考:【Excel】セル内改行(ショートカットキーAlt+Enter)と長い文字列の取り扱い)。
本来、このように1つのセルの中に2つの情報を入れることは、リストの作り方として間違っています(1セル1情報の原則、参考:【神Excel】8個の基本パターンで完全習得「リスト形式」の教科書)。
しかし、やむをえずこのようになってしまった場合には改行で分割する必要があります。A列を選択します。区切り位置を選びます。区切り位置指定ウィザードが表示されます。次に進みます。
区切りとなっている文字は改行ですが、この中にないので、その他にチェックを入れます。
カーソルを置きます。点滅しています。
Ctrlキーを押しながら「J」を押します。改行されて点滅が下に隠れました。
2列に分かれています。
セルの中で改行するには、Altキーを押しながらEnterキーですが、区切り位置指定ウィザードの改行は、Ctrlキーを押しながら「J」です。
次に進みます。表示先を消して、B2を選びます。完了します。
改行の前後で分離されました。これで並べ替えをします。
C列の降順にします。
これで完成です。
6.区切り位置指定ウィザードを使った応用事例
(1)完全な空白セルの状態に戻す
ジャンプ機能で空白セルを選択することができますが、一度セルに文字列を入力したもの(使用済みセル)は、文字列を削除しただけでは空白セルとはみなされないので、ジャンプ機能が使えません。この場合、区切り位置指定ウィザードを使うと、完全な空白セルの状態に戻すことができます。
(2)文字列を数値に変換する
「文字列」の表示形式で入力した場合や「文字列」の形式で取り込んだ場合の数値文字列を、「数値」に変換するときにも使います。
(3)CSV
CSVをそのままExcelにコピー・貼り付けすると、カンマ区切りの文字列のままです。それを分割するには区切り位置指定ウィザードを使います。
解説は以上です。
7.動画版はこちら(無料)
この記事は、わえなび実力養成講座「ファンダメンタルExcel」Program 7-10、7-10-2 のYoutube動画を書き起こして、加筆修正したものです。
- ファンダメンタルExcel 7-10 区切り位置の練習と区切り位置を使った並べ替え【わえなび】 (ファンダメンタルExcel Program7 データベース) - YouTube
- ファンダメンタルExcel 7-10-2 補講 セル内改行で区切って並べ替える【わえなび】 (ファンダメンタルExcel Program7 データベース) - YouTube