会社で、エクセルファイルを使用していると、どうしても、容量が大きくなりすぎて、動きが遅くなってしまいます。
そこで、今回、オフィス365から新たに搭載された機能、「スピル」を使うと、ファイル容量を軽くすることができるのか、検証しました。
検証した内容としては、
① 商品ごとの数値データが入った、「データベースシート」と「商品ごとに分類したシート」が入ったファイルを準備します。
② データベースから、商品ごとにデータを貼り付けたファイルを作成
③ FILTER関数のスピル機能をつかって商品ごとに分類したファイルを作成
④ ②と③のファイル容量を比較する。
といった比較を行いました。
〇結果
結果としては、全然変わらなかったです。
直接コピペしていったファイルの容量が273KB、
スピル機能を使ったファイルの容量が275KB
でした。
スピルのデータは、本体の式を変更しないかぎり、消したりできないので、セルにデータがはいっているわけではないのでは?と考えたのですが、甘かったです。
〇スピルとは
スピルとはオフィス365から登場した新たな機能で、影響を及ぼす範囲が、数式を入れたセルだけではなく、その近辺のセルにも結果が反映されます。
はみ出したり、こぼれているような挙動からスピルと呼ばれています。
このスピル機能を使った関数に、
・SEQUENCE関数
・SORT関数
・FILTER関数
等があります。
今回は、FILTER関数を使いました。
セルA2にはフィルター関数の式が入っています。
セルA5をみると、同じ式が入っていますが、灰色で表示されています。
これがスピルです。
本来式が入っているセルA2以外のデータはすべてスピルであるため、デリートキーを押しても削除することができません。
しかし、コピペや、数式の元データには使えます。
〇関数とは?
FILTER関数は
=FILTER(参照元 , フィルターをかけたい条件 , 空の場合 )
と設定していきます。
今回は、
=FILTER(全データ!A2:O601,全データ!A2:A601="CBB","")
と設定しました。
・全データシートのA2:O601までのデータにフィルターをかけて、
・同じく、全データシートのA2:A601にある“CBB”のみ抜き出して、
・なかった場合は、空白
で結果を返せということです。
〇まとめ
結果として、スピル機能を使っても容量を軽くすることはできませんでした。
しかし、毎回、データベースシートにフィルターをかけて、商品ごとにデータを抽出し、各シートにコピペをしていく作業は、項目が増えれば増えるほど、膨大な時間がかかります。
ですが、スピル機能の入った関数を使うことで、データベースだけ更新すると、自動で商品ごとのシートに結果を反映させることができます。
データ容量が一緒なのであれば、この機能を使うことで、VBAを使わなくても、業務の自動化ができてしまいます。
関数なので、もちろん、FILTER関数とSORT関数を組み合わせることも可能です。
目的は達成することができなかったですが、とても便利な機能なので、超オススメです。
0 件のコメント:
コメントを投稿