執筆:EugeneAmnis
フィルターオプション
FormeCollector.xlsmで自動作成されるテーブルを直接、解析に使うのは避けたい場合もあると思います。自由な解析を行う際は特にです。 テーブルやシートのコピーでも対応できますが、今回はExcelのフィルターオプション機能を使用して別シートにレコード(行)を 抽出する方法を説明します。尚、リアルタイムの抽出はできません。
この方法は別のブックからも可能な方法なので、編集を極力避けたいマスターシートからデータのみ拝借ということもできます。
手順説明
具体的な手順を説明します。今回は別シートにレコードを抽出するので、まずデータテーブルのあるブックを開き、 新しくシートを追加します。以降、データテーブルのあるシートを参照シート、新しく追加したシートを解析シートと呼びます。
STEP.1
参照シートのデータテーブルのヘッダーをコピーし、解析シートに2箇所貼り付けます。 1箇所は検索用、もう1箇所はレコード展開用です。
参照シート
解析シート
フィルターオプションではヘッダー行の項目が一致していなくてはならないので、コピーするのが無難ですが 直接入力しても問題ありません。また、全てのヘッダーを入力する必要もありません。必要なフィールド(列)のみ抽出が可能です。
先に条件を入力します。行がOR検索、列がAND検索となります。検索条件は文字列として入力します。(先頭に‘をつける)
'=AAA や '>2019/02/10
STEP.2
解析シートを選択した状態でデータタブ > フィルターオプション 詳細設定をクリックします。
フィルターオプションの設定ダイアログが表示されるので、抽出先を指定した先に変更し、 リスト範囲をクリックします。
解析シート上のテーブル全てを選択します。(ヘッダー行を含まれるようにする。)
選択後、検索条件範囲と抽出範囲を解析シートの貼り付けた部分を選択します。 抽出範囲はヘッダー行のみを選択します。
STEP.3
完了です。条件にあったレコードのみが抽出範囲の下に貼り付けられます。
抽出例
以下の表を参照して、検索条件を変えた抽出例を示します。
担当者AAAのみを抽出
No | 参照データ | 備品ID | 数量 | 日付 | 担当者 | 備考 | 品名 |
---|---|---|---|---|---|---|---|
=AAA |
担当者がAAAで、日付が2018/9/1以降のものを抽出
No | 参照データ | 備品ID | 数量 | 日付 | 担当者 | 備考 | 品名 |
---|---|---|---|---|---|---|---|
>=2018/9/1 | =AAA |
担当者がAAAで、日付が2018/9/1以降で数量が0未満のものを抽出
No | 参照データ | 備品ID | 数量 | 日付 | 担当者 | 備考 | 品名 |
---|---|---|---|---|---|---|---|
<0 | >=2018/9/1 | =AAA |
OR検索
No | 参照データ | 備品ID | 数量 | 日付 | 担当者 | 備考 | 品名 |
---|---|---|---|---|---|---|---|
<0 | >=2018/9/1 | =AAA | |||||
<0 | >=2018/9/1 | =BBB |
他のブックを参照
STEP.2のリスト範囲を参照したいブックのテーブルを選択することで、データのみを得ることができます。
フィルターに比べ、フィルターオプションの設定は手間が多いです。しかしその分きめ細やかな検索が可能です。 一般的にマスターシートからコピーして解析を行う場合が多いのではないでしょうか。その方法でもなんら問題ありませんが、 操作を間違えてしまい、ファイルを破損させる可能性はゼロではありません。 このフィルターオプションなら範囲選択だけなので気軽です。