はじめに
〝Excel形式[単一セルと表]からCSV形式へ〟(以下、 ベース といいます)では、Excelファイルにシートが1つだけの場合を紹介しましたが、今回はその続き。
Excelファイルに複数のシートがあって、すべてのシートが読み取り対象ではない(読み取り対象[外]を選択したい)場合をご紹介。
データを読み取る対象のシートは、同じフォーマットである必要があります。
1.対象シートで選択
読み取る対象[外]のシートが固定で決まっている場合は、Excelのレイアウト定義にある〝対象シート〟を使用します。
| 選択 | 内容 |
|---|---|
| すべてのシート | 全シートを読み取りの対象とする |
| 読み取るシートを指定 | 読み取り対象のシート名を、1つ以上指定する |
| 除外するシートを指定 | 読み取り対象外のシート名を、1つ以上指定する |
〝対象シート〟の選択を[すべてのシート]以外にした場合は、対象[外]のシート名を指定する必要があります。
2.抽出条件で選択
実は、抽出条件にシート名も選べるんです ![]()
例えば、以下のExcelファイルが入力ファイルで、数字の "9" を含むシート名が読み取り対象になる場合
このExcelファイルには、
- シート名:73841(株式会社みどりや青果)
- シート名:57918(有限会社こもれびマーケット)
- シート名:91423(有限会社さわやか市場)
その内、数字の "9" を含むシート名は、57918(有限会社こもれびマーケット) と、91423(有限会社さわやか市場) の2つになります。
数字の "9" を含むシート名を読み取り対象にする設定は、以下の
~
です。
抽出条件のアイコンをクリック
[追加]をクリック
比較元は入力項目で「Sheet」を選択。比較先は固定値で、種別=文字列、値=9。演算子は「INCLUDE」を選択して[OK]
設定した条件が AND で追加されていることを確認
上記の設定で処理をした結果がこちら ![]()
57918(有限会社こもれびマーケット)と、91423(有限会社さわやか市場)のレコードだけが出力されました。
3.マッチングで選択
マッチング機能も使い方次第で選べるんです ![]()
まず、対象[外]のシート名を記したマッチング用のファイルを用意します。
当例ではシンプルにこんなファイル。
"顧客ID"
"73841"
"91423"
入力側のマッチング設定はこんな感じ ![]()
で、マッチングの条件はこんな感じ ![]()
Excelファイル内に同名のシート名(当例のキー)は複数存在しないので、〝キーが複数あった場合〟の動作はどちらを選んでも問題なしですが、〝キーがなかった場合〟の動作をどうするかはご注意を。
上記の設定で入力側をプレビューした結果がこんな感じ ![]()
〝キーがない〟に該当する 57918(有限会社こもれびマーケット)の、マッチングファイルの1の値 赤点線枠内 は空値になるので、抽出条件は以下のように設定してみました。
上記の設定で処理をした結果がこちら ![]()
勿論「2.抽出条件で選択」や「3.マッチングで選択」は、他のレイアウト定義でも使えますよ。
以上です。












