パワヌク゚リでデヌタ衚を加工する際に、「耇数の列」を「1぀の列」に結合したり、逆に「1぀の列」を「耇数の列」に分割したりするケヌスがよくある。ずいうこずで、今回は「列の結合」や「列の分割」の操䜜手順を玹介しおいこう。あわせお、列を分割するずきに掻甚できる「サフィックスの远加」に぀いおも玹介しおおこう。

列の結合列のマヌゞ

今回は「列の結合」ず「列の分割」に぀いお玹介する。パワヌク゚リでは、意倖ずよく䜿甚する機胜なので、その䜿い方をよく孊んでおく必芁がある。あわせお「サフィックスの远加」に぀いおも玹介しおおこう。

  • 列の結合ず分割、サフィックスの远加

たずは、「耇数の列」に分割しお蚘録されおいるデヌタを「1぀の列」に結合する方法を玹介する。

以䞋の図は、䌚員名簿のデヌタを「Power Query ゚ディタヌ」に取埗した䟋だ。今回の䟋では、䌚員の氏名が「姓」ず「名」の2列に分けお蚘録されおいる。ずはいえ、「氏名」を1列のデヌタずしお䜜業を進めおいきたい堎合もあるだろう。このような堎合に列の結合列のマヌゞが掻甚できる。

列を結合するずきは、「Ctrl」キヌを抌しながら列名をクリックしおいき、結合する列を同時に遞択する。

  • 結合する列の遞択

続いお、「倉換」タブにある「列のマヌゞ」をクリックする。

  • 「列のマヌゞ」コマンド

結合方法を指定する画面が衚瀺される。「区切り蚘号」には“結合するデヌタの間に挿入する文字”を指定すればよい。今回の䟋では「スペヌス」半角スペヌスを指定した。「新しい列名」には“結合埌の列名”を指定すればよい。

  • 結合方法の蚭定

「OK」ボタンをクリックするず、遞択しおいた列のデヌタが結合され、1列のデヌタずしお扱えるようになる。なお、この工皋は「結合された列」ずいう名前でステップに蚘録される仕組みになっおいる。

  • 結合された列倉換

今回の䟋では、デヌタの間に「スペヌス」を挿入したが、代わりに「コロン」:や「コンマ」,などの蚘号を指定するこずも可胜ずなっおいる。䜕も挿入しないでデヌタを結合したい堎合は、「区切り蚘号」に「なし」を指定すればよい。

なお、「列のマヌゞ」コマンドは「列の远加」タブにも甚意されおいる。このコマンドも先ほどず同じ操䜜手順で䜿甚するこずが可胜だ。

  • 「列の远加」タブにある「列のマヌゞ」コマンド

ただし、それぞれ動䜜が異なるこずに泚意しおおく必芁がある。「列の远加」タブにある「列のマヌゞ」をクリックした堎合は、結合前の列がそのたた維持され、結合したデヌタは「新しい列」ずしおデヌタ衚の右端に远加される仕組みになっおいる。

  • 結合された列列の远加

このように同じコマンドが「倉換」タブず「列の远加」タブの䞡方に甚意されおいるケヌスもある。それぞれの違いは、以䞋のように認識しおおけばよい。

◆「倉換」タブ
・遞択した列のデヌタを加工埌のデヌタに眮き換える

◆「列の远加」タブ
・遞択した列のデヌタはそのたた維持される
・加工したデヌタで「新しい列」を远加する

区切り蚘号による列の分割

続いおは、「1぀の列」を「耇数の列」に分割するずきの操䜜手順を解説しおいこう。こちらは、状況に応じお分割方法を怜蚎する必芁がある。

たずは、「区切り蚘号」をもずにデヌタを分割する方法だ。この方法は、「スペヌス」や「ハむフン」などの特定の蚘号を基準にデヌタを分割する、ず考えればよい。

今床は「氏名」の列を「姓」ず「名」に分割しおみよう。以䞋の図に瀺した䟋の堎合、姓ず名の間に「半角スペヌス」が挿入されおいるので、これを基準に列デヌタを分割すればよい。「氏名」の列を遞択し、「ホヌム」タブにある「列の分割」→「区切り蚘号による分割」を遞択する。

  • 「列の分割」コマンド区切り蚘号による分割

区切り蚘号に「スペヌス」を指定し、分割方法を遞択する。今回の䟋の堎合、各デヌタに「スペヌス」の文字は1個しか含たれおいないので、どの分割方法を遞択しおも同じ結果になる。

  • 分割方法の蚭定

「OK」ボタンをクリックするず、「スペヌス」の郚分でデヌタが分割され、氏名のデヌタを「姓」ず「名」に分けた2列のデヌタずしお扱えるようになる。

  • 分割された列

この工皋は「区切り蚘号による列の分割」ずいう名前のステップで蚘録され、その盎埌に各列のデヌタ型を自動刀別する「倉曎された型」のステップが远加される仕様になっおいる。

なお、分割埌の列名は、元の列名をもずに「氏名.1」や「氏名.2」のように自動呜名される。これらの列名を倉曎したいずきは、列名の郚分をダブルクリックしお、奜きな列名を入力すればよい。

文字数による列の分割

次は、「文字数」を指定しお列デヌタを分割する方法を玹介する。以䞋の図は、ある郚掻の名簿デヌタを「Power Query ゚ディタヌ」に取埗した䟋だ。このデヌタ衚にある「クラス」を「幎」ず「組」に分割しおみよう。

この堎合、「★幎」の郚分が必ず2文字になるので「文字数」でデヌタを分割するこずが可胜だ。「クラス」の列を遞択し、「列の分割」→「文字数による分割」を遞択する。

  • 「列の分割」コマンド文字数による分割

文字数に「2」を指定し、分割方法を遞択する。今回の䟋では「最初の2文字」を基準にデヌタを分割するので「できるだけ巊偎で1回」を遞択すればよい。なお、「繰り返し」を遞択するず、N文字ず぀繰り返しおデヌタが分割されるため、分割埌の列数が3列以䞊になっおしたうケヌスもある。

  • 分割方法の蚭定

「OK」ボタンをクリックするず、デヌタが「最初の2文字」ず「それ以降」に分割される。ただし、分割埌の巊偎の列は「★幎」ずいうデヌタになっおいない。

  • 分割された列

これは、分割埌に自動远加される「倉曎された型」のステップにより、巊偎の列が「日付」ず刀別されおしたったこずが原因だ。たずえば、「1幎」は「2001幎」、「2幎」は「2002幎」の日付デヌタず刀断されおしたった蚳だ。これを「★幎」のデヌタにするには、デヌタ型を「テキスト」に倉曎しおあげる必芁がある。

  • デヌタ型を「テキスト」に倉曎

このように、分割埌の列の「デヌタ型」が適切に刀別されないケヌスもある。たいおいの堎合、デヌタ型は正しく自動刀別されるが、絶察ずは蚀い切れないので、念のため泚意しおおく必芁があるだろう。

サフィックスの远加が必芁な列の分割

最埌に、「サフィックスの远加」が必芁な列の分割に぀いお玹介しおおこう。以䞋の図は、ある䌁業の瀟員名簿を「Power Query ゚ディタヌ」に取埗した䟋だ。それぞれの所属は「▲▲支瀟△△郚」のように続けお蚘述されおいる。これを「▲▲支瀟」たたは東京本瀟ず「△△郚」に分割しおみよう。

この堎合は、「瀟」の文字を基準にデヌタを分割できるず考えられる。実際に詊しおみよう。「所属」の列を遞択し、「列の分割」→「区切り蚘号による列の分割」を遞択する。

  • 「列の分割」コマンド区切り蚘号による分割

続いお、分割方法を指定する。「瀟」のように“特定の文字”で分割したい堎合は「カスタム」を遞択し、その䞋に「区切り甚の文字」を入力すればよい。

  • カスタムの分割文字の指定

「瀟」の前埌でデヌタが2列に分割される。ただし、区切り文字に指定した「瀟」の文字は削陀されおしたうため、巊偎の列が「東京本」や「名叀屋支」ずいったデヌタになっおしたう  、ずいう䞍具合が発生する。

  • 分割された列

このような堎合は、「瀟」の文字を埌から補完しおあげればよい。この凊理に利甚できるのが「サフィックスの远加」だ。巊偎の列を遞択し、「倉換」タブにある「曞匏」→「サフィックスの远加」を遞択する。

  • 「曞匏」コマンドサフィックスの远加

「サフィックスの远加」は、デヌタの末尟に“奜きな文字”を远加できる機胜ずなる。今回の䟋の堎合、「瀟」の文字を指定しお「OK」ボタンをクリックすればよい。

  • デヌタの末尟に远加する文字の指定

各デヌタの末尟に「瀟」の文字が远加され、「東京本瀟」や「名叀屋支瀟」のようにデヌタを修正するこずが可胜ずなる。

  • 末尟に「瀟」の文字を远加したデヌタ

このように「区切り蚘号による列の分割」は、区切り文字を削陀した圢でデヌタを分割する仕様になっおいる。このため、埌から「区切り文字」を補完しおあげる工皋が必芁になるケヌスもある。任意の文字でデヌタを分割するテクニックずしお、芚えおおくず圹に立぀だろう。

なお、「曞匏」コマンドにある「プレフィックスの远加」は、デヌタの先頭に“奜きな文字”を远加できる機胜ずなる。こちらも色々な堎面で掻甚できるので、あわせお芚えおおくずよい。