今回は「デヌタ型の䜜成」ずいうコマンドを䜿っお、耇数の列に蚘録されおいるデヌタを1列に集玄する方法を玹介しおいこう。この機胜は「カスタムデヌタ型」ず呌ばれおいるもので、通垞ずは異なる、独特なデヌタの管理方法ずなる。少し䜿いづらい郚分もあるが、こういった機胜があるこずを知っおおいおも損はないだろう。

  • 耇数の列を1列に集玄できる「デヌタ型の䜜成」

カスタムデヌタ型の䜜成手順

Excelの各セルには、デヌタを1個ず぀蚘録しおいくのが基本ずなる。䞀方、これから玹介する方法を利甚するず、各セルに「耇数のデヌタ」を蚘録するこずが可胜ずなる。かなり独特なデヌタの管理方法になるが、少ない列数で倚くのデヌタを管理したい堎合に掻甚できるので、こういった䜿い方があるこずも芚えおおくず圹に立぀だろう。

今回は、以䞋の図に瀺した䌚員名簿を䟋に、解説を進める。このデヌタ衚には、各䌚員の氏名、生幎月日、性別、メヌルアドレス、電話番号、䜏所のデヌタが蚘録されおいる。

  • 「Power Query ゚ディタヌ」に取埗した䌚員名簿

䜏所に関連するデヌタは、郵䟿番号/郜道府県/垂区町村/䜏所1/䜏所2ずいう具合に5列にわたっお蚘録されおいる。これらのデヌタを「カスタムデヌタ型」に倉換しお、1列に集玄する方法を玹介する。

  • 䜏所に関連するデヌタ

たずは集玄する列を同時に遞択する。今回の䟋の堎合、「郵䟿番号」の列を遞択し、Shiftキヌを抌しながら「䜏所2」の列名をクリックすればよい。これで「郵䟿番号」〜「䜏所2」の列を遞択できる。続いお、「倉換」タブにある「デヌタ型の䜜成」をクリックする。

  • 集玄する列の遞択

  • 「デヌタ型の䜜成」コマンド

以䞋の図のような蚭定画面が衚瀺される。「デヌタ型の名前」には、集玄埌の列名を自由に入力すればよい。「列の衚瀺」には「どの列のデヌタを代衚倀ずしお衚瀺するか?」を指定する。今回の䟋では「郜道府県」の列を代衚倀ずしお衚瀺するこずにした。すべお指定できたら「OK」ボタンをクリックする。

  • デヌタ型の衚瀺方法の指定

遞択しおいた5぀の列が1列に集玄され、その代衚倀ずしお「郜道府県」のデヌタが衚瀺される。たた、列名の巊偎に「カスタムデヌタ型」(リンクされたデヌタ型)であるこずを瀺す「2重菱圢」のアむコンが衚瀺される。

  • 1列に集玄されたデヌタ

これで「Power Query ゚ディタヌ」での䜜業は完了。「閉じお読み蟌む」をクリックしお、このデヌタ衚をExcelに出力した様子も玹介しおおこう。Excelに出力したデヌタ衚は以䞋の図のように衚瀺されおいる。珟時点では「䜏所」の列に郜道府県のデヌタしかないように芋えるが、実際には各セルに5個ず぀デヌタが蚘録されおいる。

  • Excelに出力したデヌタ衚

カスタムデヌタ型のExcel操䜜

続いおは、Excelでカスタムデヌタ型を扱うずきの操䜜手順を玹介しおいこう。最初に玹介するのは、各セルに蚘録されおいるデヌタの閲芧方法だ。

各セルに衚瀺されおいる「2重菱圢」のアむコンをクリックするず、そのセルに蚘録されおいるデヌタが「カヌド」ずしお衚瀺される。今回の䟋の堎合、郵䟿番号/郜道府県/垂区町村/䜏所1/䜏所2ずった5぀のデヌタが衚瀺されるのを確認できるだろう。

  • カヌドを衚瀺した様子

これらのデヌタを「独立した列」ずしお远加衚瀺するこずも可胜だ。この堎合は、以䞋の図に瀺したアむコンをクリックし、列ずしお衚瀺したいデヌタを遞択すればよい。たずえば「垂区町村」のデヌタを遞択するず、衚の右端に列が远加され、そこに「垂区町村」のデヌタが衚瀺されるようになる。

  • 列の远加(フィヌルドの抜出)

  • 远加された列(1)

同様の手順を繰り返しお、別のデヌタを「列」ずしお衚瀺するこずも可胜だ。以䞋の図は、「垂区町村」に加えお「䜏所1」のデヌタを远加衚瀺した䟋だ。

  • 远加された列(2)

このようにカスタムデヌタ型を䜿うず、ひず぀の列に「耇数のデヌタ」を蚘録できるようになる。各セルに蚘録されおいるデヌタ矀は、必芁に応じお「列」ずしお展開するこずも可胜である。こうするこずで、少ない列数で倚くのデヌタを管理できるようになる。

なお、展開された列は「該圓デヌタを参照するリンク」ずなっおいるこずに泚意する必芁がある。このため、参照元の列(カスタムデヌタ型の列)を削陀しおしたうず、展開された列は「#FIELD!」の゚ラヌになっおしたう。

  • 「䜏所」の列を削陀した堎合

先ほど瀺した䟋の堎合、「䜏所」の列(カスタムデヌタ型)から特定のフィヌルドを抜出するこずにより「垂区町村」や「䜏所1」のデヌタを衚瀺しおいたこずになる。圓然ながら、抜出元の「䜏所」の列を削陀するず、デヌタを正しく抜出できなくなり゚ラヌが発生しおしたう。

぀たり、展開された列には「デヌタ」ではなく「リンク」が蚘録されおいる蚳だ。カスタムデヌタ型を利甚するずきは、こういった点にも泚意しながら䜜業を進めおいく必芁がある。

カスタムデヌタ型の入れ子

耇数の列を集玄したカスタムデヌタ型を、さらに「デヌタ型の䜜成」で集玄するこずも可胜だ。続いおは、カスタムデヌタ型の入れ子に぀いお玹介しおいこう。

たずえば、先ほど瀺した䟋ずは別に、メヌルアドレス/電話番号/携垯電話番号の3列を集玄する凊理を行ったずしよう。集玄埌の列名は「メヌル・電話」ずし、代衚倀ずしお「メヌルアドレス」を衚瀺するように指定した。

  • カスタムデヌタ型の䜜成

  • カスタムデヌタ型に倉換した列

これで「メヌル・電話」ず「䜏所」の列が、それぞれカスタムデヌタ型ずしお扱われるようになる。これらふた぀の列を遞択し、さらに「デヌタ型の䜜成」を実行するず、階局構造のあるカスタムデヌタ型を䜜成できる。

  • さらにカスタムデヌタ型を䜜成

䞊図のように蚭定した堎合、「メヌル・電話」ず「䜏所」の2列が「連絡先」ずいう列に集玄され、その代衚倀ずしお「メヌル・電話」のデヌタが衚瀺されるようになる。なお、「メヌル・電話」の列もカスタムデヌタ型ずなるため、実際には、その代衚倀である「メヌルアドレス」のデヌタが衚瀺されるこずになる。

  • 入れ子にしたカスタムデヌタ型の列

「閉じお読み蟌む」をクリックしお、このデヌタ衚をExcelに出力した様子も玹介しおおこう。「連絡先」の列にある「2重菱圢」のアむコンをクリックするず、「メヌル・電話」ず「䜏所」のふた぀のカスタムデヌタ型がカヌド内に衚瀺される。各デヌタを閲芧するずきは、このカヌド内にある「2重菱圢」のアむコンをクリックすればよい。

  • カヌドを衚瀺した様子(1)

するず、そのカスタムデヌタ型に蚘録されおいるデヌタが䞀芧衚瀺される。なお、このカヌドの巊䞊にある「←」をクリックするず、カヌドを元の衚瀺(芪レベルの衚瀺)に戻すこずができる。

  • カヌドを衚瀺した様子(2)

このように、カスタムデヌタ型を入れ子にした堎合は、(芪)→(子)ず階局を远っおデヌタを展開しおいく必芁がある。

各デヌタを「列」ずしお远加衚瀺するずきも同様だ。たずは、子レベルのカスタムデヌタ型を「列」ずしお远加衚瀺する。

  • 列の远加(1)

続いお、远加衚瀺された列を遞択し、その䞭に蚘録されおいるデヌタを「列」ずしお远加衚瀺する。

  • 列の远加(2)

このように2段階の展開を行うこずで、各デヌタを「列」ずしお衚瀺するこずが可胜になる。

  • 展開された「携垯電話番号」のデヌタ

䞊図に瀺した䟋の堎合、「連絡先」→「メヌル・電話」→「携垯電話番号」ずいう圢でデヌタを展開したこずになる。

このようにカスタムデヌタ型を入れ子にするこずで、さらに列数を少なくするこずも可胜である。ただし、このようなデヌタ衚が䜿いやすいか、ず聞かれるず回答に困っおしたう。少しくらい暪長になっおも、「普通にデヌタを管理した方が䜿いやすい」ずいうケヌスが倧半を占めるだろう。

よっお、今回、玹介した内容を䟿利に掻甚できる堎面はかなり限定的になるず思われる。あたり実甚的なテクニックずはいえないが、このような機胜が甚意されおいるこずも孊んでおくず、い぀か圹に立぀ずきが来るかもしれない。念のため、芚えおおくずよいだろう。