SharePointのリストで曜日を表示する
SharePointのリストは簡単に作れて便利ですね。
PowerAutomateでもよく活用していますが・・・日付型の表示が気に食わないとか、曜日をどうやって表示するのかというところで模索してみたので、メモです。
「テストタイトル」というタイトルでリストを作り、「日付」という名前で日付と時刻型の列を追加しました。
その後、最初のレコード(行)として今日の日付を「日付」列に設定したレコードを作ってみました。
ではここから、やりたいこと(兼目次)は
です。
1)日付の表示を 年/月/日 に
日付 列の横の下矢印メニューから、この列の書式設定をクリックします。
なお、以下でもいけるのかなと思ったら、うまくいかず、月日年になってしまいました。自分の環境のロケールの設定がよくないのかもしれません。しかし調べがつかず・・いいから年月日!なら上のgetYearなどをごりごり書いたほうが確実かと思いました。
{
"elmType": "div",
"txtContent": "=toLocaleString(@currentField)"
}
なお、JSONを入力した後プレビューボタンですぐに確認できるので、いろいろ試してみてください。
利用可能な関数はこちら( 演算子 )の項あたりにあります。TEXT関数は使えません。
これで日付 列の表示を 年/月/日 に変更できました。
2)曜日を表示したい
先ほどの日付列をもとに、曜日表示用の列を別途作る方法で紹介します。
画面の右上、歯車マークで、リストの設定をクリックします。
列の作成 をクリック。
列の作成で、列名 は 曜日 、集計値 型で数式を指定した列を追加します。
数式に入っているのはこんな文字列です。
=TEXT(WEEKDAY([日付]),"ddd")
※2022/5/21追記 TEXT([日付],"ddd")でも曜日表示できるとのこと。ほげさんありがとうございます。
右下に OK ボタンがありますので押して保存します。
なおこちらも使える関数リストはこちら。
リストに戻ると・・・
曜日列が追加されました!
なお、先ほどの数式を
=TEXT(WEEKDAY([日付]),"ddddd")
に変更すると、 Sunday と省略なしで表示してくれます。
悲しいお知らせとしては・・・ExcelのTEXT関数では、日本語の曜日表示(月火水 )が
=TEXT(A1,"yyyy/MM/dd aaa")
みたいに「aaa」とか「aaaaa」でできますよね。
SharePointではaaa も aaaaa も使えませんでした。
※代わりと言っては何ですが、こちらの数式にはIFを使うことも可能なので、
=IF(WEEKDAY([日付])=1,"日曜",IF(WEEKDAY([日付])=2,”月曜"・・・
といった数式を1から7まで全部書けば日本語表示もできます。スマートさには欠けますが。。
感想
案外トリッキーで調べにくかったです。同じような箇所なのに使える関数が違ったりするの、つらい。マニュアルも、文字列フォーマットの説明とか少ないですし。
参考になれば幸いです。