リスト フォームまたはライブラリ フォームの列の表示/非表示を切り替える
リスト フォームまたはライブラリ フォームの列を削除する代わりに、表示/非表示を切り替えることができます。 列を非表示にすると、列を削除した場合のように列や列のデータに影響はありません。 列を再利用するには、フォームに再度表示するだけです。
リスト フォームまたはライブラリ フォームの列の表示/非表示を切り替えるには:
フォームの列の表示/非表示を切り替えるリストまたはライブラリに移動します。
リストを使用している場合:
- アイテムを開いて、アイテムの詳細を表示フォームに表示します。
ドキュメント ライブラリを使用している場合:
- ファイルを選択します。
- 情報 ウィンドウ:
- [プロパティ] セクションを見つけます。
- [すべて編集] をクリックします。
フォームの上部にある [フォームの編集] [ 列の編集 > ] を選択します。
[列の編集] ウィンドウで、必要に応じて列のチェックボックスをオン (表示) またはオフ (非表示) にします。
注:
列の順序を再配置する場合は、列名をドラッグ アンド ドロップするか、最初に列名の右端を選択してオプション メニュー (...) を表示し、次に必要に応じて [上へ移動] または [下へ移動] を選択します。
完了したら、[保存] を選択します。
列の表示/非表示を切り替える条件式を指定します
SharePoint リストまたはライブラリの値に対して条件チェックを実行する数式である式を指定することにより、別の列の値に基づいてリスト フォームの列の表示/非表示を切り替えることができます。
列の条件式を指定するには、[列の編集] ウィンドウで次のようにします。
条件式を設定する列に移動します
列名の右端を選ぶと、[オプション] メニュー (...) が表示されます
その他のオプションで、[条件式の編集] を選択します。
[条件式の編集] ダイアログ:
- この列の表示/非表示を切り替えるかを決定するには、別の列の値に基づいて条件式を指定します。
- 条件をクリアするには、空白のままにします。
設定が完了したら、[保存] を選択します。
条件式の使用を開始する
式は、リストまたはライブラリの列の値に対して条件付きチェックを実行する数式です。 数式は、等号 (=) で始まり、その後に if 関数が続き、true または false の結果を返します。
たとえば、次の式は、[Category] 列の値が [Product Management] であるかどうかを確認します。
=if([$Category] == 'Product Management', 'true', 'false')
true を返すとフォームの列が表示になりますが、false を返すと列が非表示になります。
列は、角かっこで囲まれたフィールドの [内部名] を指定することで指名され、先頭にドル記号がついています: [$InternalName]
。 たとえば、「ProductName」という内部名を持つフィールドの値を取得するには、[$ProductName]
を使用します。
条件式でサポートされていない列の種類
式は使用可能な列の種類の多くをサポートしていますが、現在、次の列の種類はサポートしていません。
- 複数の選択のあるユーザーまたはグループ
- 複数の選択のある選択肢
- 日付と時刻の列の時間計算
- 通貨列
- 場所列
- 計算列
- 管理されたメタデータ列
クイック式リファレンス
選択列
次の式は、選択列 [$Category]
の値が [Product Management] かどうかを確認します。
=if([$Category] == 'Product Management', 'true', 'false')
数値列
次の式は、番号列 [$Flightscost]
が 120 以下かどうかを確認します。
=if([$Flightscost] <= 120, 'true', 'false')
次の式で次のように 2 つの列の値を加算し、その合計を確認するなど、算術計算を行うこともできます。
=if(([$Flightscost] + [$Hotelcost]) > 500, 'true', 'false')
日付列
次の式は、日付列 [$StartDate]
が特定の日付と等しいかどうかを確認します。 そのためには、[Date ()] 関数を使用して、指定された文字列を日付に変換します。
=if([$StartDate] == Date('4/6/2020'), 'true', 'false')
日付列 [$StartDate]
が特定の日付よりも小さいか同じかどうかを確認する例:
=if([$StartDate] <= Date('4/6/2020'), 'true', 'false')
[$StartDate]
列と [$EndDate]
列の日付が特定の日付の間にあるかどうかを確認する例:
=if([$StartDate] >= Date('4/6/2020') && [$EndDate] <= Date('6/10/2020'), 'true', 'false')
ユーザー列
次の式は、ユーザー列のメール [$Owner]
が特定のユーザーのメールと等しいかどうかを確認します。
=if([$Owner.email] == 'nestorw@contoso.com', 'true', 'false')
ブール値の [はい/いいえ] 列
次の式は、 [はい/いいえ] 列 [$Promoted]
がはいと等しいかどうかを確認します。 これを行うには、ユーザーの はいにマップされている値 trueを確認します。
=if([$Promoted] == true, 'true', 'false')
ルックアップ列
注:
列や表示フォーマットの中でルックアップ列を使用する場合は、値とID を個別に指定できます。 フォームの書式設定と条件フィールドの式では、両方の値が 1 行のテキストとして返されます。 たとえば、ソース リスト内にあるアイテム ID 1 を Toronto
の値で参照するルックアップ列は、フォームの書式設定や条件フィールドの式で使用すると、 1;#Toronto
の値になります。
次の式は、ルックアップ列 [$City]
がトロントと等しいかどうかを確認します。 このためには、参照値の結果を区切り記号で分割し、値に対してチェックを行います。
=if(substring([$City],indexOf([$City],';#')+2,1000) == 'Toronto', 'true', 'false')
同様に、この式を使用して、ルックアップの ID 部分と比較できます。
=if(Number(substring([$City],0,indexOf([$City],';#'))) == 1, 'true', 'false')