目次
はじめに
名刺は小さいサイズに多くの情報が詰め込まれておりますが、一番大事な情報はお名前だと思います。
お名前をバランスよく表示できると気持ちいいですよね。
トヨクモさんのkintone連携ツールのプリントクリエイターでは、さすがにお名前の文字取りができるといった書式設定までは用意されておりませんので、kintone側で一工夫して、プリントクリエイターでそのお名前を表示してみました。
文字取りの条件
今回は、以下のように半角、全角スペースを使ってkintoneで文字取りすることを考えてみます。
姓/名 | 1 | 2 | 3 | 4 |
1 | 姓_ _ _名 | 姓_ _名_名 | 姓_名_名_名 | 姓_名名名名 |
2 | 姓_姓_ _名 | 姓_姓_名_名 | 姓_姓_名名名 | 姓姓_名名名名 |
3 | 姓_姓_姓_名 | 姓姓姓_名_名 | 姓姓姓_名名名 | 姓姓姓_名名名名 |
4 | 姓姓姓姓_名 | 姓姓姓姓_名名 | 姓姓姓姓_名名名 | 姓姓姓姓_名名名名 |
kintoneで実装
準備
さて、この時点で、姓または名の文字数を把握する必要がありそうだということと、姓または名の間にスペースを入れる必要があるため、姓または名を1文字ずつ抽出する必要がありそうです。
kintoneでは計算フィールドという便利なものはありますが、使える関数が限られておりまして、Excelのように今回使いたいLEN関数やLEFT関数、MID関数が現段階では用意されておりません。
そこで、これらを解消する以下の素晴らしい無料のプラグイン使わせていただき実装したいと思います。
このプラグインでは、以下のサイトにある関数を使用することが可能です。
kintoneのフィールドを作成
下図のように、すでに、お名前(姓)、お名前(名)というフィールドが用意されている前提で、新たに、文字列(1行)フィールドを16個用意します。
プラグインの設定
上記で作成したフィールドにそれぞれ条件式を設定していきます。
最終的には、下図のようになります。
それでは、一つずつ見ていきましょう。
ここで、お名前(姓)のフィールドコードをln(last nameの略)、お名前(名)のフィールドコードをfn(first nameの略)とします。
フィールド | コード | 値 | 説明 |
---|---|---|---|
姓1 | ln01 | LEFT(“ln”,1) | 姓の1文字目を抽出 |
姓2 | ln02 | MID(“ln”,2,1) | 姓の2文字目を抽出 |
姓3 | ln03 | MID(“ln”,3,1) | 姓の3文字目を抽出 |
名1 | fn01 | LEFT(“fn”,1) | 名の1文字目を抽出 |
名2 | fn02 | MID(“fn”,2,1) | 名の2文字目を抽出 |
名3 | fn03 | MID(“fn”,3,1) | 名の3文字目を抽出 |
文字数_姓 | cln | LEN(“ln”) | 姓の文字数 |
文字数_名 | cfn | LEN(“fn”) | 名の文字数 |
姓名間の スペース | splnfn | IF(“cln”+”cfn”>8,””, IF(“cln”+”cfn”=2,” ”, IF(“cln”+”cfn”=3,” ”, IF(“cln”+”cfn”=4,” ”,” ” )))) | 姓と名の文字数の合計が 8より大きい場合スペースなし 2の時は全角スペース3個、 3の時は全角スペース2個、 4の時は全角スペース1個、 それ以外は半角スペース |
姓12間 スペース | spln12 | IF(AND(“cln”=2,”cfn”=1),” ”, IF(OR(AND(“cln”=3,”cfn”=1), AND(“cln”=2,”cfn”=2), AND(“cln”=2,”cfn”=3)),” “,””)) | 姓が2、名が1の時、全角スペース 姓が3、名が1の時か 姓が2、名が2の時か 姓が2、名が3の時、半角スペース それ以外はスペースなし |
姓23間 スペース | spln23 | IF(AND(“cln”=3,”cfn”=1),” “,””) | 姓が3、名が1の時、半角スペース それ以外はスペースなし |
名12間 スペース | spfn12 | IF(AND(“cln”=1,”cfn”=2),” ”, IF(OR(AND(“cln”=1,”cfn”=3), AND(“cln”=2,”cfn”=2), AND(“cln”=3,”cfn”=2)),” “,””)) | 姓が1、名が2の時、全角スペース 姓が1、名が3の時か 姓が2、名が2の時か 姓が3、名が2の時、半角スペース それ以外はスペースなし |
名23間 スペース | spfn23 | IF(AND(“cln”=1,”cfn”=3),” “,””) | 姓が1、名が3の時、半角スペース それ以外はスペースなし |
お名前(姓) 表示用 | lndsp | IF(“cln”>3,”ln”, “ln01″+”spln12” +”ln02″+”spln23″ +”ln03″) | 姓の文字数が3より大きい時 お名前(姓)、それ以外は 姓1+姓12間スペース+姓2 +姓23間スペース+姓3 |
お名前(名) 表示用 | fndsp | IF(“cfn”>3,”fn”, “fn01″+”spfn12” +”fn02″+”spfn23″ +”fn03″) | 名の文字数が3より大きい時 お名前(名)、それ以外は 名1+名12間スペース+名2 +名23間スペース+名3 |
お名前表示用 | ndsp | “lndsp”+”splnfn”+”fndsp” | お名前(姓)表示用 +姓名間のスペース +お名前(名)表示用 |
確認
実際にプリントクリエイターで作成したイメージ図を確認してみましょう。
下図の画像のうち、上側が姓と名をそのまま表示した場合で、下側が今回作成した文字取りでの場合です。
全パターンではないですが、上図のようにいい感じに姓と名の文字取りができているように思います。
さいごに
いかがだったでしょうか。
少し設定が面倒ですが、kintoneでもお名前の文字取りをある程度やってみることができました。
これらははがきやその他の文章レベルでもお名前の文字取りをkintoneで実装して、プリントクリエイターでPDFに書き出してそのまま使えるかもしれません。