キンコミ kintone user community

みんなの投稿

2025/04/04 16:35

・ご契約中のコース(スタンダード)
・譲れない条件 プラグイン使用は不可

アプリ作成で詰まってしまったので、アドバイスいただけると嬉しいです。

<前提>
チェックボックスフィールドで「構造1」と「構造2」があります。
また文字列フィールドで「構造_表示用」もあります。

「構造1」と「構造2」の両方に入力されることはありません。
どちらかに入力、またはどちらも入力されません。

<やりたいこと>
一覧で表示した時に構造の情報も表示したいのですが、
「構造1」または「構造2」の入力されている方を表示するという
設定ができないため「構造_表示用」に計算式を入れて表示しようとしています。
おそらくCONTAINS関数を使うのだと思うのですが、
難しくて上手く設定できません。

初歩的な質問で申し訳ありませんが、
アドバイスをいただけないでしょうか。

2件のコメント (新着順)

横からすみません。

「構造_表示用」に表示したい文字列を例示していただけませんか?

CONTAINS関数に関してはまずこちらをご覧ください。
[CONTAINS関数]フィールドの中に、指定した文字列と完全一致するものがあるか判定する|kintoneヘルプ


yoko2024
建設業
2025/04/04 17:30

コメントありがとうございます。

例えばRCとSRCにチェックが入っていたとします。
「構造_表示用」にはRC SRCと表示したいです。
RCとSRCの間は「空欄」です。「,」でもいいと思っています。

CONTAINS関数は”検索文字列を含んでいるか”を検査するものですので、ダブリ(例 RC)があってそれを検索文字列にしてしまうと誤検出してしまいます。

どちらかにピリオドか、半角スペース付けちゃダメですか?
(極端な話、追加した文字列をRCかSRCと読み替えるためにです。)

yoko2024
建設業
2025/04/04 17:44

そうなんですね。
ご指摘ありがとうございます。

ピリオドも半角スペースも付けることが可能です。

検証していて間違っていたことに気付きました。

CONTAINS関数は全文一致検索みたいです💦
なので、余計な文字追加は不要です。(前述忘れてください🙇🏻)

で、
①「構造_表示用」の設定で[自動計算する]にチェックマークを入れ、
②出てきた[計算式]欄にIF( CONTAINS( 構造1 , "RC") , "①RC ", "") & IF( CONTAINS( 構造1 , "SRC") , "①SRC ", "")をコピペして保存
※式中の&は半角に書き直してください。
して、構造1のRCとSRCのチェックマーク有無を操作したらどうでしょうか?
(①は「構造1の」という意味で付けてるだけなので、要らなければ取っちゃってください。)

うまくできたら、他の欄の条件のIF関数を&でどんどんつなげれば…

yoko2024
建設業
2025/04/08 17:00

回答ありがとうございます。

上手く動作しました。
お知恵をお貸しいただき、本当にありがとうございました。(*''▽'')

ずっと一人で悩んでいたので、アドバイスをいただけて助かりました。

suji バッジ画像
2025/04/04 16:43

こんにちは。

そもそもの話で恐縮なのですが、構造に複数チェックが入ることはあるのでしょうか?
あと、構造1と構造2はどのように使い分けされますか?


yoko2024
建設業
2025/04/04 16:49

コメントありがとうございます。

構造は複数チェックが入ることがあります。

構造1と構造2の使い分けですが、
案件がある程度決まっている時は、案件管理アプリに登録している情報を引用して
構造1に表示します。

案件が固まっていない時は、情報を手入力&案件管理アプリ以外から引用します。
その際、建物情報は建物DBから情報を引用します。

※画像は一部分を抜粋しており、他にも入力項目があります。

suji バッジ画像
2025/04/04 16:56

回答ありがとうございます。

構造1と構造2で違う項目にチェックが入っていることはありますか?
その場合、構造2が優先されるという認識でよいですか?

あと項目はこの5つだけでしょうか。

yoko2024
建設業
2025/04/04 16:58

回答ありがとうございます。

構造1と構造2はどちらかしかチェックを入れてはならないルールにします。
しかし、間違いでチェックがはいることもあると思います。

その時は構造1が優先されます。

また、項目は5つだけになります。

suji バッジ画像
2025/04/04 17:24

回答ありがとうございます。

元の質問に戻りますと、CONTAINS関数は指定した値がそのフィールド内にあるかどうかを
判定するだけの関数です。
https://jp.cybozu.help/k/ja/id/040506.html

そのため、今回のパターンですと、IF構文と組み合わせて
値があるか判定→あれば値を表示、なければブランク、をひたすら続けていく
計算式になると思います。

構造1の計算
IF(CONTAINS(構造1,"RC"),"RC","")&IF(CONTAINS(構造1,"SRC"),"SRC"," ")&以下略

構造2の計算
IF(CONTAINS(構造2,"RC"),"RC","")&以下略

これらの計算をさらにIF関数を使って構造1がブランクの場合構造2の計算を表示、
そうでない場合は構造1の計算を表示、とする形ですが、
ここまでやると計算がめんどうなので、構造1と構造2それぞれで計算する
フィールドを準備し(構造1計算、構造2計算、みたいな)、
最終結果の構造_表示用に、構造1がブランクの場合~のIF関数を入れ込むのが
良いかと思います。
IF(構造1計算="",構造2計算,構造1計算)

以上です。

suji バッジ画像
2025/04/04 17:57

コンマつけたい場合は

IF(CONTAINS(構造1,"RC"),"RC","")&IF(CONTAINS(構造1,"RC"),",","")&以下略

のようにRCがあれば , を表示、なければブランク、の計算式を&で連結させてください。
ただ、RCだけにチェックがある場合もコンマが入ってしまうので、こだわりたい場合は
さらに計算式を入れ子にする必要があります。

コンマ無しで連結計算後、=RCだとそのまま表示、違うとコンマありの連結計算 です。

以上です。

yoko2024
建設業
2025/04/08 17:00

回答ありがとうございます。

上手く動作しました。
お知恵をお貸しいただき、本当にありがとうございました。(#^.^#)

ずっと一人で悩んでいたので、アドバイスをいただけて助かりました。