「フィル」とは?
今回のテーマはフィルです。フィルとは、部分的にデータが存在する場合、それを縦方向(上または下)に埋める機能です。EXCELでも存在するのですが、アイコンが目立たないせいか、あまり知られていません。
主に空白セルのある表をデータ・テーブルに変換するときに使用します。特に元のEXCELファイルでセルの結合がされている場合に、効果を発揮します。
また、クロス集計表をデータ化するときにも使用します。
以下のBeforeの例1~3をAfterの形に整形します。
Before
例1:縦(空白セル)
大分類・中分類に空白セルがあるパターンです。
例2:縦(セルの結合)
大分類・中分類が「セルの結合」によって合体しているパターンです。
例3:横(セルの結合)
大分類・中分類が横に展開され、セルが結合されているパターンです。
After
大分類・中分類が埋められます。
実践
例1:縦(空白セル)
まずは基本のパターンです。以下のサンプルデータを使用します。
データのある範囲のセルにカーソルを置きます。範囲全体を選ばなくても大丈夫です。
「データ」タブ→データの取得と変換→テーブルまたは範囲から を選びます。
自動的に範囲が選択されるので、そのままOKを押します。
「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認してください。
Power Query Editorが開きます。
この段階では、空白セルがそのままブランク(null)として読み込まれています。
1行目の「脊椎動物」のあと13行目まで空白セルが続き、14行目に「無脊椎動物」がきた後再び空白セルが続いていることに注目してください。
「大分類」列を選択→「変換」タブ→フィル→下 を選択します。
「大分類」列で、値の入っているセルが下の空白セルにコピーされます。
2行目から13行目までが「脊椎動物」、15行目以降が「無脊椎動物」になっていることに注意してください。
同様の手順で「中分類」列も選択し、「変換」タブ→フィル→下 を選択します。
なお、二つの列を同時氏に選択して、フィルを行うことも可能です。
これで変換は終わりなので、「ホーム」タブの「閉じて読み込む」を実行します。
無事、空白セルを埋めることができました。
例2:縦(セルの結合)
次は、大分類・中分類が「セルの結合」によって合体しているパターンです。
実は、例1全く同じ手順です。
例1と同じように、表のどこかにカーソルを置き、「データ」タブ→データの取得と変換→テーブルまたは範囲から をクリックして、次の画面で「OK」を押してPower Query Editorを開いてください。
今回も「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認してください。
ここまでくると、例1と同じ画面になります。
実は「セルの結合」が行われたセルをPower Queryで読み込むと、一番上の行にデータが残り、それ以下の行は次に値が入ったセルが来るまで空白セルになります。
あとは、例1と同じ手順でフィルを行い、読み込みます。
例3:横(セルの結合)
今度は大分類・中分類が横に展開され、セルが結合されているパターンです。
セルが結合されている部分は前回と同じですが、今回は横にデータが並んでいることが問題です。
いつものように表のどこかにカーソルを置き、「データ」タブ→データの取得と変換→テーブルまたは範囲から をクリックして、次の画面で「OK」を押してPower Query Editorを開いてください。
ただし、今回は「先頭行をテーブルの見出しとして使用する」にチェックが入っていないことに注意してください。
Power Query Editorが開き、以下のようにデータが読み込まれます。列名が列1、2,3となっています。
以前の例と同じデータですが、横方向に空白セルが並んでいるのが問題です。
フィルでは上方向か下方向にしか選べないので、データそのものの縦横を入れ替えます。
「変換」タブ→入れ替えをクリックします。
すると、縦横が入れ替わりました。ここまでくると先が見えてきます。
「Column1」と「Column2」列を選択→「変換」タブ→フィル→下 を選択して空白セルを埋めます。
最後に「一行目をヘッダーとして使用する」を実行します。
これで「閉じて読み込む」をじ実行します。
なお、フィルを行った後に、再び「入れ替え」を実行すると、横のフォーマットに戻すことができます。