公開日:2025-02-07
こんにちは!サポートチームのちくわといいます。
gusukuのサポートでお客様からのお問い合わせに対応していると結構な頻度で目にするのがgusuku CustomineのExcel/PDF出力に関するものです。
今回はその中でもkintoneのレコードを使用してExcel/PDFに出力する機能での文字列結合についてご紹介していきます。
kintoneのレコードデータ
前提として、CustomineのExcel/PDF出力はkintoneのレコードデータを参照して出力しますので、今回ご紹介する上で使用するkintoneのレコードデータをここで示します。
※数値aはkintoneの数値フィールドの設定(桁区切りを表示する)を行っています
文字列結合の基本
さて早速本題に入っていきます。
CustomineのExcel/PDF出力では、1つのセルに複数のgusukuコマンドを連結したり、固定の文字列を交えて記述することができます。
ドキュメントはgusukuコマンドの文字列結合についてを参照ください。
例えば、以下のような記述(左)と出力結果(右)とすることが可能です。
このように、kintoneのレコードのフィールド値(「year」「都道府県」などのフィールドの値)を取得しながら、複数のgusukuコマンドを連結したり、固定文字列(「年」)と組み合わせることが可能です。
先頭の固定文字列を含める方法
CustomineのExcel/PDF出力の文字列結合では、先頭に固定文字列を直接記述することができません。
そのため、先頭に固定文字列を追加する場合は、特別な記述が必要になります。
例えば、固定文字列「西暦」と「year」フィールドの値を結合して「西暦2024」という出力を行う場合、以下のような記述(左)と出力(右)になります。
- 無効(「西暦$(year) 」という文字列がそのまま出力されます)
- 有効(「西暦2024」が出力されます)
このように、先頭に固定文字列を配置する場合は、$() を挿入します。
数値と文字列の扱い
CustomineのExcel/PDF出力の文字列結合では、すべての値が文字列として扱われます。
そのため、数値演算を行うことはできません。
例えば数値フィールドの値と文字列フィールドの値を結合して出力する場合、このような記述(左)と出力結果(右)となります。
このように、数値フィールドと文字列フィールドを連結すると、最終的には文字列としてセルに出力されます。
そのため、例えば「1,234XYZ」のように数値部分に桁区切りを行った上で出力したいような場合、セルの書式設定で桁区切りを設定していても文字列として扱われるので、桁区切りされた数値は表示できません。
このような場合は、1つのセルで数値と文字列を結合して出力するのではなく、「1,234」「XYZ」とセルを分けてそれぞれの値を出力してください。
空白スペースの扱い
文字列結合時に、間に空白スペースを含めたい場合、そのままスペースを記述すれば反映されます。(テンプレートへの記述は左、出力結果は右のとおりです)
このように記述することで、間にスペースが含まれた状態で出力されます。
文字列結合の使用例
Excel/PDFに出力するkintoneのレコードデータのフォーマットを整える際、さまざまな形で文字列結合を活用できるので、使用例をいくつかご紹介します。
1. フルネームの表示
顧客管理アプリから姓と名を取得して、フルネームとして表示する場合、以下のように記述すれば、「山田太郎」のように出力されます。
また、
このように空白スペースを記述すると、「山田 太郎」フィールド値の間にスペースが挿入され、より自然な表記になります。
2. 日付の整形
文字列フィールドの結合した日付をフォーマットして表示したい場合、
$(year)年$(month)月$(day)日
と記述すれば、「2024年12月20日」のように出力されます。これは、契約書のフォーマットなどで特に有用です。
※少し内容が外れますが、日付フィールドを出力する際に和暦で表示したい、というご要望を受けることがあります。その際は出力するセルの書式設定でこのような設定を行うと、「令和6年1月20日」のように和暦での出力ができます。
[$-ja-JP]ggge”年”m”月”d”日”
3. 固定文字列を含めた表記
例えば、顧客名の後に「様」を付ける場合、
$(性)$(名)様
と記述することで、「山田太郎様」のように敬称を付けた表記が可能です。
おまけ:全角が混じるとおかしな結果になる
文字列結合を行う場合に、テンプレートの半角文字で記述すべき箇所で全角文字を使用すると期待した結果にならないので注意が必要です。
いくつか具体例をご紹介しますので、ここで見たような結果が出たら全角文字になっていないか確認しましょう!
1. 1つ目のコマンドに全角「$」を使用した場合
- $NUM(数値a)$(文字列b) → 「$NUM(数値a)$(文字列b) 」とそのまま文字列として出力される
この場合、テンプレートの記述がそのまま出力されます。
2. 2つ目のコマンドに全角「$」を使用した場合
- $NUM(数値a)$(文字列b) → エラーが発生する
この場合、エラーが発生します。次のエラーメッセージに記載のように、テンプレートファイルのシートやセルを明示してくれるケースもあります。
3. 全角括弧「(」を使用した場合
- $NUM(数値a)$(文字列b) → 「1234RECORDS」と出力される
この場合、1つ目のコマンドは出力されますが、2つ目のコマンドは正常に出力できません。
終わりに
CustomineのExcel/PDF出力時にgusukuコマンドを活用すると、柔軟な文字列結合を行いながらkintoneのデータを出力することが可能です。
これらを理解し、適切に活用することで、Excel/PDF出力をより便利にカスタマイズできるようになります。
今回はExcel/PDF出力の設定の中でもかなり細かい部分についてご紹介でした〜
投稿者プロフィール
-
gusuku Customine サポートのひとりです
いつかまた 京都大作戦 に行きたいです
いつか RISING SUN ROCK FESTIVAL にも行ってみたいです