キンコミ kintone user community

みんなの投稿

kintoneでfind関数を利用する方法を教えてください

項目の型:ドロップダウン
抜き出したい文字数:【○○】○○○ の【】内のみ

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

krewSheet(クルーシート)は、kintone の一覧を Excel のように表示、編集できるようにする kintone プラグイン(有料)です。私も活用していますが、いろいろ便利です。



FIND関数あります!他関数は下記からご確認いただけます。

【Krewsheetの関数一覧】
https://docs.krew.mescius.jp/krewsheet/formulafunctions.html

基本機能以外を今後検討するのであれば、ご参考に~

基本機能では、Find(部分一致検索)関数に相当するものはありません。
演算子と関数の一覧|kintoneヘルプ をご覧ください。

基本機能で文字列検索するには、CONTAINS関数(CONTAINS(フィールドコード, "検索文字列"))を使うことになりますが、
テーブル外のドロップダウンフィールドは検索対象外
・検索は全文一致である
ことに留意する必要があります。

なので、
・テーブル外で選択値を捕捉したい場合
 検索対象フィールドの型:複数選択
 検索結果表示フィールドの型:自動計算付き文字列(1行)
  計算式:仮に、選択肢を【1】○○|【2】△△|【3】××| …として、
      IF(CONTAINS({検索対象フィールドコード}, "【2】△△"), "2", …)などとする。
       ※"【2】△△"は選択肢の全文
       ※"2"は任意のものをベタ書き(本件の場合、「【】内の文字列」)
・テーブル内で選択値を捕捉したい場合
 検索対象フィールドの型:ドロップダウン可
 検索結果表示フィールドの型:上記の通り
  計算式:上記かIF({検索対象フィールドコード}="【2】△△", "2", …)などとする。
となるかと。

ご参考まで

sora
情報通信業
2025/05/14 10:48

find関数は標準機能では実装されておりません。
文字列を抜き出したいのであればなにかしらのプラグインを利用するのが手っ取り早いかなと思います。

標準機能で対応したい場合は、文字列の計算式を使い、ドロップダウンの選択肢ごとにIF関数で【】内の文字列を表示させる方法で対応できると思います。
ただ、ドロップダウンの選択肢が多いと設定が大変かつ、選択肢が増えたり変更があった場合にIF文を変更する手間が発生するかなと思います。

文字列抜き出してどのように利用するか記載いただければ、より良い回答が出てくるかもです。


ありがとうございます!

標準機能で対応したい場合は、文字列の計算式を使い、ドロップダウンの選択肢ごとにIF関数で【】内の文字列を表示させる方法で対応できると思います。
⇒こちらも考えましたがsoraさんの仰る通り負担が大きいと思いました。

文字列抜き出してどのように利用するか記載いただければ、より良い回答が出てくるかもです。
⇒【】を別フィールドに移し、大カテゴリとして登録して、グラフに反映したいと考えております。

現状:【○○関連】その他 大カテゴリと中カテゴリが合わさった形です。

sora
情報通信業
2025/05/14 11:20

カテゴリの文字列を抜き出したいということだったんですね!

であれば、ドロップダウンではなく、ルックアップの利用はいかがでしょうか。

ルックアップ元のアプリで、あらかじめ「大カテゴリ」「中カテゴリ」などの情報を登録しておけば、選択肢を選んだ際に、他のフィールドへ自動でコピーする形でカテゴリ情報を取得できるようになります。
この情報を使ってグラフに反映させられるかなと思います。

横からすみません🙇🏻

ドロップダウンの選択肢が多いと設定が大変かつ、選択肢が増えたり変更があった場合にIF文を変更する手間が発生するかなと思います。

確かに変更に対する手間は発生しますが…
Cybozu Days 2024 「kintoneしくじりトーク」 の10:00あたりで工場長さんが披露されていた「Excelで選択肢を一括登録する方法」と、(手前味噌ですが💦)小生の投稿 などを押さえていただければ、さほど恐れるようなことはないかと。

ちなみに、ルックアップにするにしても、選択肢変更に対応したデータメンテの手間は付いてまわると思います。

ご参考になれば幸いです。

井上望
2025/05/14 10:47

 kintoneには残念ながら文字列操作関数は実装されていません。
なので、find関数的な処理を行いたい場合は、

①データをCSVでエクスポートして、Excel等で処理して別フィールド等に結果をセット、そのCSVをインポートしてデータを更新。
②プラグイン、連携サービスを利用、あるいはJavaScriptでカスタマイズする。

のいずれかになると思います。
 findを使いたいということは、後続処理として、left,mid,right,len的な文字列の加工を行う可能性が高いと思いますが、これらも関数がありませんので、上記①②のいずれかになります。

 もし、「入力された文字列(1行)のデータを、分割したり、特定文字列で分類したい」のであれば、はじめから複数のフィールドにしておくのが現実的かも知れません(入力してもらうフィールドは増えますが……)。


ありがとうございます!

①データをCSVでエクスポートして、Excel等で処理して別フィールド等に結果をセット、そのCSVをインポートしてデータを更新。

⇒たしかにインポートしてデータを更新したほうがはやいかもしれません。。

②プラグイン、連携サービスを利用、あるいはJavaScriptでカスタマイズする。
⇒できるだけプラグインは使わずに、JavaScriptで対応したいなと思いますが、非エンジニアなので分からず、アドバイスいただけますと幸いです。

井上望
2025/05/14 13:07

お疲れ様です。
実は自分も非エンジニアで、カスタマイズを勉強している人です。

 ある程度勉強すれば、JavaScriptで文字列を操作すること自体は難しくないですが、業務で使う前提と思いますし、バグや脆弱性の責任や将来アプリを作り変えたときのメンテナンス等を考えると、カスタマイズは最後の選択肢にした方が良いかもしれません。

 興味がある場合は、こちらのサイボウズによるカスタマイズの説明ページが分かりやすいと思います。
(ただし、全くの未経験であれば、これを読んで実際にできるようになるまでは、結構時間がかかるかも……)
https://cybozu.dev/ja/kintone/getting-started/

 まずは、CSVエクスポート・インポートを使って、Excel上でどんな式・マクロを組むかを実際にやってみると、「①運用を見直すか②プラグイン等を使うか」の参考になりますし、プラグインの選定・設定・適用やカスタマイズのプログラムを書く際のロジックとして役立つと思います。
(意外とExcelとのやりとりでいけそうなら、そのままExcelでいくのもアリですし)

kintoneでfind関数を利用する方法を教えてください

前提は、「基本機能で」⇔「カスタマイズで」のどちらでしょうか。