Filter関数でシート別に切り分け

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関数を入力しておき、そのシートをコピーしながら、シート名を変えていくのがベストだと思います

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です