ルックアップ・実機検証
kintoneルックアップの絞り込み|できること・できないことを実機検証
「都道府県を選んだら、取引先ルックアップの候補をその県の会社だけに絞りたい」。kintoneのルックアップでよく出る要望ですが、結論から言うと、固定条件の絞り込みは標準で可能、入力値に応じた動的な絞り込みは、プラグインやカスタマイズを使っても「選んで保存」まで実現できません。この記事は、私たちがプラグイン開発の過程で実機検証した結果に基づいて、できること・できないこと・現実的な代替策を正直にまとめたものです。
標準でできる: 「絞り込みの初期設定」
まず、標準機能で足りるケースを確認します。ルックアップフィールドの設定には「絞り込みの初期設定」があり、参照先アプリのレコードを条件で絞り込めます。たとえば「ステータス=有効」の取引先だけを候補にする、「今年度のマスタだけを対象にする」といったあらかじめ決まった条件なら、ここで設定すれば取得ボタンから開く候補一覧が最初から絞られます。
「候補が多すぎて選びにくい」という悩みの多くは、実はこの初期設定と、後述するコピー元項目の工夫で解決できます。
できない: 画面の入力に応じた動的な絞り込み
問題は「同じ画面で入力した別の項目の値に応じて、候補を動的に絞りたい」ケースです。これは標準機能にはなく、そしてプラグインやJavaScriptカスタマイズでも本番品質では実現できません。
「絞り込んで表示する」だけなら作れます。できないのはその先、絞り込んだ候補から選んだ値を「取得済み」としてkintoneに保存させることです。理由は次の2点に集約されます。
- kintoneのルックアップは、kintone自身の取得フロー(取得ボタン→標準の候補ピッカー)で取得した値しか保存を認めません。プログラムでフィールドに値をセットしても「未取得」扱いになり、保存時に「[取得]を押し、参照先からデータを取得してください」と弾かれます。
- この「取得」をプログラムから実行する公開APIが存在しません。また、唯一保存まで通る標準ピッカーには、外から動的な絞り込み条件を差し込むAPIがありません。
実機で試した4方式(すべて保存で失敗)
私たちはルックアップ絞り込みプラグインの開発時に、考えられる実装方式を実機で一通り検証しました。結果は次のとおりです。
- レコードAPIで値を直接セット(record.set)→ 画面上は値が入るが「未取得」扱いで保存時に弾かれる
- 入力欄にDOMレベルで値を流し込み、変更イベントで取得フラグを立てる → 同じく保存時に弾かれる
- 取得フラグ付きで値をセット(lookup: true 指定)→ 挙動が不安定になり、クリア操作を要求される混乱状態に
- 入力欄への入力+Enter/フォーカス移動で自動取得を誘発 → 取得フローは起動するが動的条件は差し込めず、目的を達成できない
「絞り込んだ候補を自前のピッカーで表示して選ばせる」ところまでは動作します(検証では候補7件を条件で3件まで絞って選択できました)。しかし上記の制約により、選んだ値の保存だけがどうしても通りません。残る手段は標準ピッカーを裏で自動操作するような作りですが、kintoneの画面更新で容易に壊れるため、業務で使うプラグインとしては成立しないと判断し、私たちはこの種のプラグインの提供を見送りました。
なぜこの記事を書くのか: 「ルックアップ 絞り込み プラグイン」を探している方が、実現できない機能に時間を使ってしまう前に、検証済みの事実をお伝えするためです。もし将来サイボウズがルックアップの公開APIを拡張すれば状況は変わります(この記事は2026年7月時点の検証に基づきます)。
現実的な代替策3つ
- ① 「絞り込みの初期設定」を活用する: 「有効な取引先だけ」「今年度だけ」のような固定条件はここで設定できます。候補の母数を減らすだけでも選びやすさは大きく変わります。
- ② 参照先アプリ(またはビュー)を分ける: 区分ごとに参照先アプリを分け、ルックアップも区分ごとに用意する方法です。フォームは少し長くなりますが、確実に「その区分の候補だけ」になります。条件分岐必須・表示切替プラグインの条件表示と組み合わせ、選んだ区分のルックアップだけを表示すると、入力者には1つのルックアップに見えます。
- ③ コピー元に検索用の項目を含める: ルックアップの設定で「ほかのフィールドのコピー」や候補に表示する項目を工夫し、読み仮名・コード・区分名を含めておくと、標準ピッカーの検索で目的のレコードへ素早く辿り着けます。
まとめ
- 固定条件の絞り込み → 標準の「絞り込みの初期設定」でできる
- 入力値に応じた動的絞り込み → 標準・プラグイン・カスタマイズのいずれでも「選んで保存」までは不可(2026年7月時点・実機検証済み)
- 実務では ①初期設定 ②参照先を分ける+条件表示 ③検索用項目の工夫 で大半のケースに対応できる
よくある質問
kintoneのルックアップで、参照先の候補を条件で絞り込めますか?
固定の条件であれば標準機能で可能です。ルックアップの設定にある「絞り込みの初期設定」で、参照先アプリのレコードを条件で絞れます。ただし「画面で入力した値に応じて候補を動的に絞る」ことは標準ではできません。
プラグインやJavaScriptカスタマイズなら動的な絞り込みはできますか?
「候補を絞って表示する」ところまでは作れますが、選んだ値を保存まで通すことができません。kintoneのルックアップは自身の取得フロー(取得ボタン→標準ピッカー)で取得した値しか保存を認めず、プログラムからこの取得を実行する公開APIがないためです。当社の実機検証では4方式すべてが保存時に弾かれました。
動的に絞り込みたい場合の現実的な代替策はありますか?
①「絞り込みの初期設定」で固定条件に絞る、②参照先アプリを区分ごとに分けてルックアップも分ける(条件表示との組み合わせが有効)、③ルックアップのコピー元に検索用の項目(読み仮名やコード)を含めて標準ピッカーで探しやすくする、の3つが実務的です。
kintone 活用のヒントをメールで
新しい使い方の記事や新プラグインのお知らせを月数回お届けします(配信解除はいつでも)。
入力まわりの改善なら
入力画面を整えるプラグイン
動的絞り込みの代替策②で触れた「条件での項目の表示切り替え」は条件分岐必須・表示切替プラグインで、条件に応じた値の自動入力は条件分岐自動入力プラグインで、コードなしで設定できます。どちらも無料プランで1アプリから試せます。
ほかのプラグイン選びは用途別の選び方+料金比較もどうぞ。