シナリオ
顧客の更新内訳が入った .xlsx ファイルがあります。行構成はそのままに、更新金額から導出した「ランク」列を追加した 1 シートのレポートを作りたいとします。
__config__
| キー | 値 |
|---|
source_sheet | 元データ |
source_table | 1 |
output_file_pattern | 更新レポート.xlsx |
テンプレートセル(シート レポート)
| セル | 値 |
|---|
| A1 | 取引先 |
| B1 | 地域 |
| C1 | 更新金額 |
| D1 | ランク |
| A2 | {{ [取引先] }} |
| B2 | {{ [地域] }} |
| C2 | {{ [更新金額] }} |
| D2 | {{ IF([更新金額] > 10000, "優先", "標準") }} |
元データ( シート 元データ)
| 取引先 | 地域 | 更新金額 |
|---|
| アクメ物流 | 東京 | 18400 |
| ベータワークス | 大阪 | 7200 |
| コレオン食品 | 東京 | 25100 |
結果(更新レポート.xlsx、シート レポート)
| 取引先 | 地域 | 更新金額 | ランク |
|---|
| アクメ物流 | 東京 | 18400 | 優先 |
| ベータワークス | 大阪 | 7200 | 標準 |
| コレオン食品 | 東京 | 25100 | 優先 |
- テンプレートの 2 行目が データブロックです。xl3 は元データの 1 行を結果の 1 行に展開し、テンプレート行に設定されたスタイル・数値書式・結合セルをそのまま維持します。
[取引先] は 列参照です ― 現在のソース行の 取引先 列の値に置き換えられます。
{{ ... }} は テンプレートブロックで、中括弧内の内容は XTL 式として評価されます。中括弧内の空白は意味を持ちません。
- データブロックはテンプレートブロックを含まない最初の空でない行で止まります。フッター行(例: 「合計」セル)を追加しておけば、その上でデータブロックだけが展開され、フッターはその場に残ります。
関連情報: spec/language.md の「Template Blocks」と「Source Columns」。