整形記号「#」の三兄弟

データが来ない所に整形記号を置く。

xoBlos には、データの生成方法を操作する予約記号が幾つか用意されています。それは、行/列を処理用であることを示したり出力項目単位でデータ外の情報をあて込ませたりと、役目をそれぞれ持っています。いずれも「#」始まりで表記するもので、xoBlos では『整形記号』と呼んでいます。

f:id:xoblos:20171214162351p:plain

上図の表は‥‥収入が少ないながらも、とても家族――猫想いの方が付けているようですね。ここから行方向に単純抽出し、それを後述の各表に於ける入力データとしましょう。

#S

前回記事で、"Spacer" の略と言いました。最終出力結果上、無駄な行列は不要なので、削除する役目を持っています。不要ながら行列を設けているということは、xoBlos の処理用としているということですね。

年と月、それぞれを分類にするか見出しにするかで、設定箇所や設定数が変わります。復習を兼ねて、様々な表形式に対応してみましょう。

f:id:xoblos:20171214162402p:plain

f:id:xoblos:20171214162411p:plain

f:id:xoblos:20171214162420p:plain

それぞれの出力結果は、以下のようになります。

f:id:xoblos:20171214162428p:plain

#I

続いて登場したのは、"Insert" の略である記号です。これは、分類あるいは見出しの値が変わる度に挿入する情報として示します。

f:id:xoblos:20171214162812p:plain

上図例では、年の値が変わる度に、その年の値を紐付けた HP へ飛ぶリンク情報を挿入するようにしています。制御シートの赤強調文字を注意して見てください。「年」に関わる行は何処から何処までなのか、xoBlos のデータ処理部分は何処であるのか、それらを考えていくと各設定値に納得が行く筈です。出力結果は以下のようになります。

f:id:xoblos:20171214162947p:plain

間に行列を挿入できるということは、小計や中計をいれることも可能になりますね。「#S」の際にも、SUM関数の参照範囲を保持することで列挙しましたが、合わせて応用してみましょう。

f:id:xoblos:20171214162500p:plain

前節と同様、制御シートの赤強調文字に注意しましょう。出力結果は以下のようになります。

f:id:xoblos:20171214162509p:plain

#U

最後に、"Upper" の略である記号を紹介します。これは「#I」と同様、分類あるいは見出しの値が変わる度に挿入する情報への操作になりますが、行であれば直上列であれば直左の情報を保持する役目を持っています。そのようなことが必要とされるケースとして、前節の末尾の画像をもう一度振り返ってみましょう。

4行目と 7行目に、各年単位で小計が入っています。しかし行そのものだけを見たら、「計」としか書かれておらず‥‥。何の計であるかまでを示すと、親切ですね。

しかしこの行は処理行としましたから、入力データの情報は置くことができません。そこで活躍するのがこの「#U」です。

f:id:xoblos:20171214162518p:plain

前節の末尾ケースとの違いは、上図の赤円内だけです。制御シートの内容に差はありません。出力結果は以下のようになります。

f:id:xoblos:20171214163310p:plain

「#U」をあてた行には、常に直上の情報を保持しています。それにより 4行目は「2016」の括り、7行目は「2017」の括りと判断され、綺麗に結合されました。

さて各出力結果に於いて、「参考に作ってみたけれど、見本のとおりに上手く罫線が引かれない!」という方がいらっしゃるのではないでしょうか。この整形記号を加えた上でも、xoBlos の動きを良く考え、手動で再現してみてください。‥‥何処でどのような行列のコピー貼り付けで、保持される罫線とそうでない罫線が分かれるか、判断できると思います。罫線の引き方については、前回記事を参考にしてみてください!