カンマ区切りフィールド分割
130-120 | データ編集・追加
カンマ区切りで値が入力されている1つのフィールドを、複数のフィールドに分割する設定手順です。
値をデータ編集コマンドで順番に取り出し、それぞれのフィールドに格納します。
この記事でできること
・「検査入力値」に入っているカンマ区切りの文字列を「A点検査値」、「B点検査値」、「C点検査値」、「D点検査値」、「E点検査値」フィールドに分割
・1つ目の値を取り出した後、残りの文字列を更新しながら同じ処理を繰り返すことで複数項目に展開

注意事項
・カンマの数が決まっていることが前提
・値の数だけデータ編集コマンドを設定する(複製で対応可能)

設定手順
1. 入力アプリに「カンマ区切り分割入力アプリ」を設定する
1. フィールドの選択で「検査入力値」を選択する

2. データ編集コマンドで「検査入力値」をコピーして「残りの文字列」フィールドを作成する
1. データ編集コマンドを追加して、結果を保存するフィールドに「新しいフィールドを作成」、新しいフィールド名に「残りの文字列」を設定する
2. 編集方法で「フィールドをコピー」を選択する
3. 編集内容を設定で「検査入力値」を選択する

3. データ編集コマンドで「検査入力値」から1つ目の値を取り出す
1. データ編集コマンドを追加して、結果を保存するフィールドに「新しいフィールドを作成」、新しいフィールド名に「A点検査値」を設定する
2. 編集方法で「数式」を選択する
3. 編集内容を設定に以下の数式を設定する
IF(ISNUMBER(FIND(",", 残りの文字列)), LEFT(残りの文字列, FIND(",", 残りの文字列) - 1), 残りの文字列)

4. データ編集コマンドで「残りの文字列」から「A点検査値」の値を除く
1. データ編集コマンドを追加して、結果を保存するフィールドに「既存のフィールドのデータを置換」、フィールドを選択で「残りの文字列」を設定する
2. 編集方法で「数式」を選択する
3. 編集内容を設定に以下の数式を設定する
IF(ISNUMBER(FIND(",", 残りの文字列)), MID(残りの文字列, FIND(",", 残りの文字列) + 1, LEN(残りの文字列)), "")

5. 3と4のデータ編集コマンドを選択して複製する

ワンポイント
3と4のデータ編集コマンドを「1つ目の取り出し」としてブロック化すると処理が可視化できる

6. 2つ目の値を取り出す
複製したデータ編集コマンドを「B点検査値」に変更します。
1. 1つ前の処理と線でつなぐ
2. 1つめのデータ編集コマンドのフィールド名を「A点検査値」から「B点検査値」に修正する

7. 3つ目以降の値を取り出す
同様に「複製」⇒「線を繋ぐ」⇒「フィールド名を修正」を繰り返して、5つ目の値まで取り出す設定を行う

8. プレビューで確認する
カンマ区切りの値が各フィールドに分割されていることを確認する

スケジュール実行プラン向けのサンプルファイルのダウンロードはこちら
リアルタイム実行プラン向けのサンプルファイルのダウンロードはこちら
演習をお客様のkintone環境で試す

実際の動作を確認できるテンプレートを公開しています。
こちらの記事でご紹介した内容をご自身の環境で試したい方はダウンロードしてご利用ください。