みんなの投稿

セミナー参加者管理アプリで行き詰っています。アイデアがあればいただきたいです。

【やりたいこと】
セミナー申込データを管理するアプリで、
申込時のメールアドレスをキーに「新規/既存」を判定し、
区分フィールド(ドロップダウン)に「新規」または「既存」を自動入力したいです。

【アプリ構成】
① アプリ:連絡先リスト
・個人ベースの連絡先管理(企業単位ではない)
・メールアドレスは重複なし(ユニーク)
・1社につき複数人の連絡先が登録されている
・入手経路:商談、問い合わせ、セミナー申込 など

② アプリ:セミナー管理
・セミナーごとの申込情報を管理
・申込フォームからデータを取り込んでいる
・同一人物が別セミナーに参加するため、
 メールアドレスはアプリ内で重複する

【実現したい挙動】
・セミナー管理アプリにレコードが作成された際、
 そのメールアドレスが「連絡先リスト」アプリに存在するかを判定
・存在する場合:区分=「既存」
・存在しない場合:区分=「新規」
・同一メールアドレスでも、
 最初のは「新規」→ 次以降は「既存」となれば問題ありません
(レコード単位で判定できればOK)

【困っていること】
・標準機能(ルックアップ、関連レコードなど)で実現できるのか
・それともJavaScriptやプラグインが必要なのか判断がついていません

【環境】
・kintone(スタンダードコース)
・セミナー管理アプリへのレコード追加は基本的にcsv読み込み

同様の構成で実現された事例や、
おすすめの実装方法(標準機能/プラグイン/JavaScript)があれば
ご教示いただけると助かります。
よろしくお願いいたします。

5件のコメント (新着順)
suji バッジ画像
2026/01/09 14:45

こんにちは。

新規/既存の情報ですが、誰がどのタイミングでどのように活用しますか?
どの解決策が良いのか条件によって変わってくるので…。

ふゆき
製造業
2026/01/09 10:31

なるほどね~~
申込フォームからデータを取込後、沢山あるDataの中から
(新規・既存)を判別 (絞込)して「新規」該当者のみ「連絡先リスト」に 登録したい
って感じですかね...この時(アプリ)アクションで必要項目のみcopyしたら楽ですよね😊

ならば、自分だったらこうするで書きます

条件=一覧(画面)上にある 2つの釦を押し下げる

このロジックに必要なフィールドは
 ①区分・・・・・・・・・Pluginが判定_【初期直の設定は「-----」】
 ②申込されたメアド・・・CSVで取り込む
 ③登録済みのメアド・・・Pluginで取得

検証の②③は 文字列(フィールド) としましたが (手抜き🙇)
2つのフィールドが同じ属性なら動くと思います【リンク(フィールド)でも】

検証に使ったPluginは「Boost! Action」ですが
条件分岐処理プラグイン(TiS/条件付き無料)でも可能だと思います
設定画面がご希望の場合は、Plugin名を記載してコメント返信頂ければ作ります

訂正/条件分岐処理プラグインは検証してみないとわかりません
理由=「レコードが取得出来なかった場合は、フィールドを空にする」と云う設定がないので
    取得出来なかった時の挙動が不明

添付画像/GIFアニメを含めて、ご参考まで!😁
GIFアニメを繰り返し見たいときは、
「F5」釦 押下げ もしくは ブラウザの 再読み込みアイコンを押下げして
ページのリロードを行うと再度動きます

横からすみません🙇🏻

そもそも論で恐縮ですが、

・セミナー管理アプリへのレコード追加は基本的にcsv読み込み

で、区分はセミナー管理アプリ上、つまりセミナー管理アプリの一覧や詳細画面を開いたときに区分が確定していればいいんですよね?
でしたら、「レコードのメールアドレスを連絡先リストと突き合せて区分を確定する処理」はcsv読み込み前にしておく(するべき)なのではないでしょうか。

であれば、
①連絡先リストを辞書化し、
②追加するレコードのメールアドレスが①にあるかないかを検索し、
③結果を追加するレコードに追加した[区分]列に記載
④③をセミナー管理アプリにcsv読み込み
といったことを考えなければならないと思います。

カスタマイズすれば、セミナー管理アプリ上のボタン操作もしくはレコード追加イベント発火で「セミナー管理アプリに読み込んだ後に①~③を”バックグラウンド”で行う」はできるハズですが、Excel-VBA×cli-kintoneでも①~④まで自動化はできるハズです。


2525
情報通信業
2026/01/09 10:38

回答ありがとうございます。
現時点で私ができる対応方法はおっしゃるとおり取り込みの前に連絡先リストに一致するものがないか関数で当てはめて新規/既存を振り分ける。という方法だと思います。
この時に一致するものがないか確認する元データとして連絡先リストが必要ですが、このリストがセミナーの申し込み時から取得しているだけでなく、営業が追加したり問い合わせがあった際に追加したり追加のタイミングがセミナーの申し込み以外にもあるため、連絡先リストアプリから都度出力する必要があります。
その手間を省く方法があればいいなと思い自動で判定する方法を伺いました。
わかりにくい説明で申し訳ありません。。。

連絡先リストアプリから都度出力

これもcli-kintoneで自動化できます。

先ほどの処理フローに当て込むと、
①連絡先リストの全レコードをcli-kintoneで取得し、
②①を読み込んで辞書化し、
③追加するレコードのメールアドレスが②にあるかないかを検索し、
④結果を追加するレコードの[区分]列に記載
⑤④をセミナー管理アプリにcli-kintoneで書き込み
といった感じです。

カスタマイズでやるときは、(追加されたレコードが分かるように)区分空欄でセミナー管理アプリに読み込んでおき、
①自レコードを区分=空欄で絞り込んでリスト化し、
②リストの一つを取り出して今度はそのメールアドレスで絞り込んで連絡先アプリのレコードを取得
③②が無ければ、区分を”新規”に更新
④②があれば、区分を”既存”に更新
⑤②~④をリスト終了までループ
などとやります。

「連絡先アプリが不定期、しかも時々刻々と積み上がるので、都度セミナー管理アプリの区分も更新したい」のなら、初期は👆🏻のフローで処理するとして、連絡先アプリ側にもレコード追加に伴ってセミナー管理アプリのレコードを辞書とした突き合せでヒットしたら区分を”既存”にセットする」仕組みも入れておけば全自動化できますね。

こんにちは。

とっても手抜きですけどこんな運用はどうでしょう?
ルックアップが失敗した判定は、一緒にコピーするフィールドの値を調べるのが一番簡単です。
標準機能だけでできますよ。

【前準備】
1.登録用のメールアドレス欄とルックアップ用フィールド(メールでルックアップ)を作成
2.ルックアップの設定で、「ほかのフィールドのコピー」で顧客名前など必ず値があるモノを文字列1行(顧客名など)にコピーする設定
3.文字列1行(自動計算する)で「登録区分」を作成して、以下の計算式を設定
 IF(顧客名="","新規先","既存先")

【新規登録】
1.登録用のメールアドレスをルックアップフィールドにコピーしてルックアップ
2.ルックアップで見つかれば、登録区分に「既存先」と表示される
3.ルックアップが失敗したら登録区分に「新規先」と表示される
   →ルックアップがエラーのままでは保存できないので、ルックアップをクリアして保存ボタンを押す。

メールアドレスのコピペと、保存時のルックアップ値のクリアだけルール化できれば、実現可能かも。
思っているのと違っていたらすみません m(_ _)m




2525
情報通信業
2026/01/08 18:00

回答ありがとうございます。
ルックアップで該当あるか検索する方法は知りませんでした。
こちらセミナーの申し込み情報は基本的に手動入力ではなくcsvで取り込みなのですが、その場合も同じ運用で可能なのでしょうか???
取り込み時にルックアップで該当なかった場合エラーがでてしまわないかと思い、、、知識不足で申し訳ありません。

手動入力ではなくcsvで取り込みなのですが、その場合も同じ運用で可能なのでしょうか???

csv一括登録では、ルックアップでエラーが出ると新規登録ができませんので、以下の3段階運用なら可能かもしれません。

その1:
登録Eメールとその他の項目だけcsvで新規登録。ルックアップフィールドには何も登録しない。この段階新規登録レコードの登録区分の値は、全て「新規先」になります。

その2:
登録できたら、本日登録分のレコードに絞り込んで、レコード番号と登録Eメール欄だけをダウンロードします。

その3:
その2でダウンロードしたファイルを読み込んで、レコード番号を更新キーにして、登録Eメールアドレスを、ルックアップフィールドにセットする一括更新を実行します(エラーは読み飛ばす設定で)

ルックアップに成功したレコードだけが更新されて「既存先」に、ルックアップエラーで更新エラーになったレコードは更新されないので「新規先」のままになります。

多分大丈夫だと思いますか、検証してないので、もし上手くいかなかったら、ごめんなさい🙏

かな
建設業
2026/01/08 17:44

申込みフォームを外部システムのフォームから取り込んでいるなら、

①【関連レコード一覧】を使って同一メールアドレスの関連レコード一覧を作る。
②【アプリ間レコード集計プラグイン】を使って、①をカウントする。
https://www.tis2010.jp/referencecalc/
→カウントするフィールドは【数値フィールド】になると思います。
③文字列(1行)フィールドの自動計算で、 ②が「0 もしくは 空欄」なら「新規」、「1以上」なら「既存」の式を作る。(⇩カウントをプラグインでするフィールドのフィールドコードを仮に【カウント】とします。)

IF(カウント > 0,"既存","新規")
⇧0を超える場合(0を含まない)「既存」、それ以外は「新規」になってます。
(関連レコード一覧集計で0(登録がない)の場合に、カウントが空欄になる可能性があるため)

こんなところでいかがでしょうか?


2525
情報通信業
2026/01/08 17:50

回答ありがとうございます。
こちらの定義の場合、同じ方が別日にセミナーの申し込みをした場合、関連レコードが新たに追加して前回のレコードのカウントも「1」になり、新規で入力されていたのが既存に切り替わってしまいますでしょうか?
できればレコード作成時点の「新規/既存」状況を保存したいのですが、、、

かな
建設業
2026/01/09 08:45

基本機能として、レコードは手動で編集しなければ、過去分が更新される(新規だったものが既存になる)ことはありません。
(ルックアップ元の情報が更新されてもルックアップ先のアプリレコードを更新しないと連動しません。)

関連レコード一覧は詳細画面上での表示だけが基本なので、見た目上はレコードが追加されるように表示されますが、

レコード保存または削除と同時に集計先アプリの指定フィールドの内容が更新されます。

と書かれているので、本プラグインに関してだけ言えば、「作成時にあった分だけ」のカウントになりますね。

注意点としては、プラグインに「一括アプリ間集計」があるので、これを押してしまうとレコードが全て更新されてしまいます。
「一括アプリ間集計」のボタンはON/OFF出来ますので、OFFにすれば問題ないと思います。
(レコードが多くて、初回時のみ一括で処理したいという場合は処理してからOFFにすると良いでしょう。)

かな
建設業
2026/01/09 09:02

プラグインの条件に、「申込み日より前のみ」をカウントするようにするのがベストかもしれません。

2525
情報通信業
2026/01/09 10:39

その条件定義ならうまく設定できるかもしれないので、試してみようと思います!
ありがとうございます。