※本記事の画像はMicrosoft365を使用しています
さて、突然ですがこのような氏名と住所のリストがあったとします。
A列が氏名、B列に郵便番号及び住所と実にシンプルですが、後になってから「あれー、<苗字><名前><住所1><住所2>みたいにセルを分けておけば良かった・・・」という事態に陥った時はどうしましょう。
一所懸命コピー&ペーストを駆使して文字を移したり削ったり・・とやってもいいのですが、件数が多いときりがありません。
そんな時は、Excelの「区切り位置」を使って文字列を複数のセルに分割すると効率的です。
スペース位置でデータを区切る
この例題のように、氏と名の間、郵便番号と住所の間、住所と方書き(集合住宅名等)の間に全角ないし半角の「スペース」が入っている状態であれば、スペースでデータを区切って分割できると美しいですよね。
ではまずA列の氏名を「氏」と「名」に分けてみます。
データを区切ると、右隣の列に区切り位置より後のデータが移動しますので、B列に1列挿入して「名」のデータ入る場所を空けてやりましょう。
B列の列記号をクリックし列を全選択したら、右クリックして「挿入」を選択します。
次にA列の氏名が入っているセルをドラッグで範囲選択します。
件数が多い時は、データの入っている先頭のセルを選択してからCtrl + Shift +↓ (下方向キー)を使うと簡単に選択できますよ。
[データ]タブのデータツールグループにある「区切り位置」をクリックします。
「区切り位置指定ウィザード 1/3」が表示されたら、まず区切りたいデータのファイル形式を選択します。データは「氏」と「名」の間のスペースで区切るようにしたいので、「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックが入った状態で[次へ]をクリックします。
「区切り位置指定ウィザード 2/3」は、データを区切るためのキーとなる文字を指定します。この例では「スペース」で区切りますので、「スペース」にチェックを入れます。
スペースにチェックを入れると、データのプレビューで氏と名の間が縦線で区切られた状態になります。最終的にこの状態で別々のセルに分割されますので、問題なければ[次へ]をクリックします。
「区切り位置指定ウィザード 3/3」では、必要に応じ区切った列ごとにデータ形式を変更することができます。
この画面でのデータ形式の変更は、区切ったデータをExcelの標準書式で読み込むと不都合が生じるため強制的に他の書式に変更する場合に行います。
この例では特に変更の必要はありませんので、そのまま[完了]をクリックします。
A列に「氏」、B列に「名」が分割されました。(元々入っていたスペースは、区切り文字として使ったので削除されます)
では同じように元B列(移動したので現在はC列)の「郵便番号」と「住所」と「方書き」も別々の列に分割してみましょう。
この例ではD列以降は何も入っていないのであらかじめ列挿入しておく必要はありませんが、もし後ろの列に別のデータがある場合は、先ほどと同様にデータを移動するための列を挿入しておきましょう。
C列の住所データを全選択し、[データ]タブの[区切り位置]をクリックします。
「区切り位置指定ウィザード」は先ほどの氏名を分割した時と同じように設定しましょう。
参考までに2/3の画面だけお見せするとこんな感じになります。「スペース」にチェックを入れると郵便番号、住所、方書ごとに綺麗に分割されています。
※3/3は特に変更する項目はないので、この時点で[完了]を押しても問題ありません。
あとは列幅を調整して項目名を入れ直せば完成です。
補足事項
今回の例題のように、スペースを区切り文字に指定する場合、スペースは半角と全角が混在していても基本的には問題ありません。
しかし稀に区切り位置指定ウィザードの2/3で「スペース」にチェックを入れた時にこのような状態になる事があります。
これは、Excelのシート上では「伊達」と「政宗」の間にスペースが1つ入っていたように見えて、実際は半角スペースが2つ入っていたというケースが考えられます。
複数の人が入力するデータファイルで、IMEの設定を「スペースはいつも全角にしている人」と「いつも半角にしている人」が混在していると起こりやすい事例です。
こうなった場合は、「連続した区切り文字は1文字として扱う」にチェックを入れれば「1つの全角スペース」も「2つの半角スペース」も1つの区切りとしてカウントされ、正しくデータを分割することができます。