管理人がみんなに伝えたい!!と思った知識や学びを気ままに書いています(^^)

【TIPS】リストの選択肢を任意の順番で並べる方法

リストの選択肢を任意の順番で並べる方法

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

UIの新旧画面への切り替えは、下写真を参考にアイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!

Valid ifやSuggested valueで表示させるリストの並び順を指定したい人

本記事を読んで出来るようになること

orderby()関数の使い方

今回の記事内容はアプリのUIを高めるための記事です。

過去にブログ読者の方から「リストの並び替えは需要がある」と言われて、はや半年。。

完全に忘れていました!!(言い訳なし)

もともと個人用の備忘録としてブログを始めたので、自分が困らないと動かないという管理人です笑

先日あったんです、「リストを任意の順番で表示させてほしい」と。

あれっ?そういえば過去にそんなこと訊かれたなーっと思い返すとコメント欄にありました。

記事にまとめます!

って自分で書いたのに忘れているという。。

前書きが長くなりましたが、記事の内容はしっかりとまとめたつもりなので、せひ参考にしてください(^^)

それでは勉強していきましょう!

検証用のデータ

検証データの構成

今回の検証に用いたテーブルの情報です。各シートのカラム構成は下図になります(^^)

団体コードシート
団体コードシート

入力先シートに送るためのマスターシートです。(一度作成すると基本いじることはないデータ)

作成にあたりこちらのサイト様を参考にしています。

また、リストの並び順の効果を見るために団体コードの並び順は適当にしています。

入力先シート
入力先シート

こちらのデータシートでリストの並び替えを検証します。

各シートの構成カラムの関係性は下図になります(^^)

各シートのカラム情報

上図の関係性を参考にしつつ、スプレッドシートのデータをappsheetに取り込み、データタイプの修正を行いましょう!

団体コードシート
団体コードシートの設定注意点

団体コードシートの設定で一番大事になってくるのは、LABELの項目を何にするか?を決めることです。

次に示す入力先シートとref関係を結ぶにあたり、Key値を参照してアプリで表示させる値がLABEL値になるので、この設定を忘れずにしましょう(^^)

入力先シート
入力先シートのデータタイプ

今回の記事内容の検証カラムである団体名にはrefを設定します。

Source tableには団体コードシートを選択しましょう。

まずは、この状態で入力先シートからデータを登録しようとしたときの画面を見てみます。

設定無しの登録画面

都道府県に三重県を選択したときの団体名は・・

団体名のrefリスト

団体名には三重県だけではなく、東京都や福岡県の選択肢も表示されています。

これでは入力者にとって優しくない仕様となっているので、入力補助をしていきましょう!

refリストの設定

まずは基本設定として、直前に選んだ都道府県に紐ついた選択肢のみ表示させる設定をします。

団体名のsuggested value

団体名のSuggested valueに以下の関数を入力します。

select(団体コード[団体コード],[_thisrow].[都道府県]=[都道府県])

上記関数がぱっと思いつかない方は、こちらの記事を参考にしてください(^^)

この関数を入力すると、都道府県に三重県を選択した場合は・・

依存型ドロップダウンリスト

三重県に関係する市名のみ表示されるようになります(^^)

次にこの記事でまとめたいorderby()関数について説明します。

orderby()関数の使い方

orderby()関数の使い方

orderby(keys, sort-key, descending-order?)

第一引数にKey値のリスト第二引数に並び替えのカラム第三引数に昇順・降順を指定します。

orderby関数の使い方

第一引数にKey値のリストを送る必要があるので、orderby()関数はデータタイプrefとセットで使う関数と覚えておいてください(^^)

refのKey値=アプリ上ではLABEL値で表示されるので!

団体コードシート

このorderby()関数を使って、先ほどの関数に修正を加えてみたいと思います。

orderby関数の構文

団体名のSuggested valueに以下の関数を入力します。

orderby(select(団体コード[団体コード],[_thisrow].[都道府県]=[都道府県]),[団体コード],false)

この関数を入力すると、先ほどのリスト表示と異なることがわかります。

ref選択肢の対比

oederby()関数の方は、団体コードが1〜6の順番で市名が並ぶようになっています(^^)

まとめ

以上、orderby()関数についての記事でした。

繰り返しになりますが、

第一引数にKey値のリストを送る必要があるので、orderby()関数はデータタイプrefとセットで使う関数

ということは覚えておいてください。ちなみに

orderby(select(団体コード[団体コード],[_thisrow].[都道府県]=[都道府県]),[ふりがな],false)

とすれば、あいうえお順でリストの表示をソートすることも可能です。

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA