1シートにあるデータをシート別に分ける場合、手動で行うと相当な時間がかかりますよね
FILTER関数とCELL関数を組み合わせると、このシート別にデータを切り分ける作業が簡単にできます
以下、FILTER関数の条件が同じ桁数であるのが前提になります
●ポイント1
Cell関数とは ⇒ CELL(“fileame”)と入力するとフィルパス+ファイル名+シート名を抽出します
シート名が常に同じ桁数であれば、RIGHT関数でシート名を抽出できます
●ポイント2
FILTER関数は”FILTER(範囲、条件、[省略可])である範囲から条件にあうものを抽出します
抽出元のデータの行数が可変であれば、抽出元のデータ範囲をテーブル化しておくのがおすすめです
例えば、抽出元を以下のようにテーブル化しておいたとします

テーブル名をDataとしてテーブル化してあります。そして、シート別に抽出したいのはカテゴリー別だとします
この場合はFILTER関数は、=FILTER(Data,Data[カテゴリー]=”aaa”)と書きます
ポイント1と2を組み合わせると、以下の様な感じで関数を書くと、シート名が条件にあうデータをシート別に抽出します
=FILTER(Data,Data[カテゴリー]=RIGHT(CELL(“filename”),3),”-“)
このようにFILTER関数を入力すれが、シート名を変えた瞬間は以下のようにデータを抽出します

<まとめ>
実際にシート別にデータを分ける場合には、1シートにFILTER関数を入力しておき、そのシートをコピーしながら、シート名を変えていくのがベストだと思います


コメントを残す