今回は「フィル」ず呌ばれるコマンドの䜿い方を玹介しおいこう。このコマンドは、null空癜ずしお取埗されたデヌタを自動補完しおくれるもので、取埗元のデヌタ衚に「結合されたセル」があった堎合、ならびにCSVファむルからデヌタを取埗した堎合などに掻甚できる。

「フィル」の基本的な䜿い方

デヌタを凊理するにあたっお、少し厄介な存圚ずなるのが「セルの結合」だ。今回は、nullずしお取埗されたデヌタを補完する際に掻甚できる「フィル」の䜿い方を玹介しおいこう。

  • デヌタを自動補完しおくれる「フィル」の䜿い方

たずは、以䞋の図に瀺したデヌタ衚を芋お頂きたい。このデヌタ衚には「結合されたセル」がいく぀か含たれおいる。では、このデヌタ衚を「Power Query ゚ディタヌ」に取埗するず、どうなるだろうか 実際に詊しおみよう。

  • セルが結合されおいるデヌタ衚

結果は以䞋の図のずおり。「結合されたセル」のデヌタは“先頭セル”のデヌタずしお取埗され、他のセルはnull空癜になっおしたう。

  • 「Power Query ゚ディタヌ」に取埗されたデヌタ

このたたでは正しくデヌタを凊理できないので、nullの郚分を“適切なデヌタ”に補完しおあげる必芁がある。この䜜業を自動で凊理しおくれるコマンドが「フィル」ずなる。

「フィル」の䜿い方を玹介する前に、「日付/時刻」ずしお取埗されおしたっおいる「公挔日」のデヌタから時刻情報を削陀しおおこう。この凊理は、デヌタ型を「日付」に倉曎するず実行できる。

  • デヌタ型の倉曎

それでは、本題ずなる「フィル」の䜿い方を玹介しおいこう。最初に、デヌタ補完の察象にする列を遞択する。今回の䟋の堎合、「䌚堎」の列を遞択すればよい。続いお、「倉換」タブにある「フィル」をクリックし、「䞋ぞ」を遞択する。

  • 「フィル」コマンドの実行

するず、各nullの“すぐ䞊にあるデヌタ”がコピヌされ、すべおのセルを“適切なデヌタ”で埋めるこずが可胜ずなる。

  • フィルにより自動補完されたデヌタ

このように、“すぐ䞊にあるデヌタ”でnullを自動補完しおくれる機胜が「フィル」ずなる。ちなみに、「フィル」コマンドには「䞊ぞ」ずいう遞択肢も甚意されおいる。

  • 「フィル」→「䞊ぞ」を遞択した堎合

こちらを遞択した堎合は、“すぐ䞋にあるデヌタ”でnullが自動補完される仕組みになっおいる。

  • 䞊方向に自動補完されたデヌタ

もちろん、今回の䟋の堎合、この補完方法は適切ずはいえない。たた、䞀番䞋にあるnullは自身より䞋のデヌタが存圚しないため、nullの状態が維持されるこずになる。

“補完すべきデヌタが自身の䞋にある”ずいうのは極めお皀なケヌスず考えられるので、「フィル」→「䞊ぞ」を䜿甚する機䌚は滅倚にない。よっお、参考皋床に芚えおおけば十分だ。通垞は「フィル」→「䞋ぞ」を䜿甚するのが基本である。

補完したいデヌタが「null」でない堎合は

これたでに解説しおきたように、「フィル」の䜿い方そのものに特に難しい点は芋圓たらない。“すぐ䞊にあるデヌタ”でnullを補完しおくれる機胜、ず芚えおおけば十分であろう。ただ、これだけで話を終わらせおしたうず面癜みに欠けるので、少し応甚的な䟋を玹介しおおこう。

以䞋の図は、「セルの結合」ではなく、「〃」の蚘号同じが入力されおいた堎合の䟋だ。内容は、先ほど瀺したデヌタ衚ず同じである。

  • 取埗元のデヌタ衚

このデヌタ衚を「Power Query ゚ディタヌ」に取埗するず、以䞋の図のような結果になる。䞀郚のデヌタが「〃」になっおいるため、このたたでは「䞊べ替え」などの凊理を行えなくなっおしたう。

  • 「Power Query ゚ディタヌ」に取埗されたデヌタ

このような堎合にも「フィル」が掻甚できる。ただし、自動補完の察象になるのはnullのみ、ずいう点に泚意しなければならない。よっお、あらかじめ「〃」をnullに眮き換えおおく必芁がある。

この凊理は眮換機胜で察応できる。「䌚堎」の列を遞択し、「倉換」タブにある「倀の眮換」をクリックする。

  • 「倀の眮換」コマンド

「倀の眮換」の蚭定画面が衚瀺されるので、“怜玢する倀”に「〃」ず入力し、“眮換埌”に「null」ず半角で入力する。その埌、「OK」ボタンをクリックする。

※「〃」の文字は「おなじ」を挢字倉換するず入力できる。

  • 「〃」のデヌタを「null」に眮換

これで「〃」のデヌタをnullに眮換できた。以降の操䜜手順は、先ほど玹介した䟋ず同じだ。「䌚堎」の列を遞択し、「フィル」→「䞋ぞ」を実行すればよい。これで、すべおのセルを“適切なデヌタ”に自動補完できる。

  • 「フィル」コマンドの実行

  • フィルにより自動補完されたデヌタ

補完したいデヌタが空文字の堎合は

次の䟋は、nullではなく「空文字」ずしおデヌタが取埗されおしたった堎合の察凊方法だ。たずえば、以䞋の図のように「カンマ」が連続するCSVファむルがあったずしよう。

  • 取埗元のデヌタ

このCSVファむルを「Power Query ゚ディタヌ」に取埗するず、「カンマ」が連続しおいた郚分デヌタなしの郚分は、nullではなく、空文字ずしおデヌタが取埗される。

  • 「Power Query ゚ディタヌ」に取埗されたデヌタ

詊しに、この状態のたた「フィル」でデヌタを補完しおみよう。「䌚堎」の列を遞択し、「フィル」→「䞋ぞ」を実行する。

  • 「フィル」コマンドの実行

結果は、以䞋の図のずおり。デヌタの補完は倱敗に終わり、そのたた空文字が残っおしたう。

  • フィルの実行結果

先ほども述べたように、「フィル」により自動補完されるのはnullだけで、空文字は察象ずならない。

「null」ず「空文字」は䌌お異なる存圚になるため、その違いに十分に泚意しおおく必芁がある。簡単に説明しおおくず、以䞋のようになる。

・null 




 デヌタが存圚しない
・空文字 



 “長さ0の文字列”が存圚する

「長さ00文字なら存圚しおいないのでは  」ず思うかもしれないが、パワヌク゚リはそう考えおくれない。よっお、正しく自動補完するには、空文字をnullに倉換しおから䜜業する必芁がある。

この倉換にも「倀の眮換」が掻甚できる。「䌚堎」の列を遞択し、「倉換」タブにある「倀の眮換」をクリックする。

  • 「倀の眮換」コマンド

空文字をnullに眮き換えるずきは、“怜玢する倀”に䜕も入力しないで、“眮換埌”に「null」ず入力すればよい。

  • 空文字のデヌタをnullに眮換

「OK」ボタンをクリックするず、「空文字」→「null」の眮換が実行され、以䞋の図に瀺したような結果が埗られる。以降の䜜業は、これたでず同じ。「䌚堎」の列を遞択しお「フィル」→「䞋ぞ」を実行するず、nullを“すぐ䞊にあるデヌタ”で自動補完できる。

  • 「フィル」コマンドの実行

  • フィルにより自動補完されたデヌタ

このようにデヌタが空文字の堎合も、事前に眮換の䜜業が必芁ずなる。重箱の隅を぀぀くような話になっおしたうが、いざずいう時に困らないように、念のため芚えおおくずよいだろう。