SharePointリストのリストフォームで列の表示条件を設定する

SharePointリストにて、特定の列の値に応じてほかの列の表示/非表示を切り替えたい、と感じたことはありませんか?

アイテム追加時や編集時に表示される列の表示条件を設定する方法をご紹介します。

列の表示条件とは

SharePointリストのリストフォームにて常に列の表示・非表示を設定する場合、「列の編集」ウィンドウにてチェックボックスのオンオフを切り替えることで設定ができます。

しかし、ほかの列に入力された値によって表示/非表示を切り替える場合は、対象の列に対して表示条件を設定する必要があります。

設定方法

列の表示条件は、下記手順にて設定することができます。

  1. 対象のSharePointリストを開きます。
  2. [+新しいアイテムを追加]をクリックします。

  3. [フォームの編集]-[列の編集]をクリックします。

  4.  表示条件を設定する列の列名の右側にある[⋮]を選択し、[条件式の編集]をクリックします。

  5. 条件式を入力し、[保存]をクリックします。
    ※ 条件式の内容及び詳細については次の章にて説明します。

  6. [保存]をクリックします。

条件式の書き方

条件式を作成する際の前提は下記は下記の通りです。

  • 「等式(=)」で始まる
  • ”真”または”偽”の結果を返す「if関数」にて作成する
  • 列を指定をする場合は「[$<列の内部名>]」と記載する
  • 値は「'(シングルクォーテーション)」で囲う

条件式の基本的な形は以下の通りです。

条件:内部名「Status」列の値が「A」の場合は”表示”、該当しない場合は”非表示”

=if([$Status] == 'A' ,'true','false')

列の値に対して「等しい」、「含む」、「より大きい」等の指定を行う場合は下記のように記述します。

※ 複合条件を設定する場合は、「&&(かつ)」または「||(または)」を使用します。

比較演算子
演算子 意味 使用例
==
等しい
[$<列の内部名>] == '値'
!=
等しくない
[$<列の内部名>] != '値'
>
より大きい
[$<列の内部名>] > '値'
<
より小さい
[$<列の内部名>] < '値'
>=
以上
[$<列の内部名>] >= '値'
<=
以下
[$<列の内部名>] <= '値'
conteins(,)
含む
contains([$<列の内部名>], '値')
not(contains(,))
含まない
not(contains([$<列の内部名>], '値'))

下記の条件サンプルを3通り記載しますので、条件式作成の際にご活用ください。

条件サンプル1

条件:内部名「Price」列の値が「100」より大きい場合は”表示”、該当しない場合は”非表示”

=if([$Price]>'100','true','false')

条件サンプル2

条件:内部名「Status」列の値が「A」かつ内部名「Approval」列の値が「B」である場合は”表示”、該当しない場合は”非表示”

=if([$Status]=='A'&&[$Approval]=='B','true','false')

条件サンプル3

条件:内部名「Status」列の値が「A」または「B」または「空白」の場合は”表示”、該当しない場合は”非表示”

=if([$Status] == 'A' || [$Status] == 'B' || [$Status] == '','true','false')

動作確認

表示条件の設定後は動作確認を行う必要があります。設定した条件に応じて下記の2通りの方法にて動作確認を行ってください。

  1. [+新しいアイテムを追加]から確認する
    • アイテムの追加時は設定を行った列が表示または非表示であることを確認する必要がある場合
  2. アイテムの編集画面より確認する
    • ほかの列の値によって設定を行った列表示・非表示が切り替わることを確認する必要がある場合

まとめ

本記事ではSharePointリストのリストフォームでの列の表示/非表示を切り替える際の条件式の設定方法及び作成方法について紹介しました。

Power Appsにて入力フォームを作成するほどではない場合やリストフォームをすっきりさせたい場合等に非常に便利な機能かと思います。

条件式の作成方法についても紹介していますので、作成の際にはぜひご参考ください。

執筆担当者プロフィール
日髙 菜々子

日髙 菜々子(日本ビジネスシステムズ株式会社)

普段はPower Platform関連の案件に携わっています。Power Platformを用いた業務改善にも取り組んでいます。

担当記事一覧