Notionでプログレスバー(進捗バー)を作る方法
タスクの達成率やプロジェクトの進み具合を、数字だけでなくバーで見られると、ぐっと分かりやすくなります。Notionには専用のプログレスバー機能はありませんが、関数を使えば「■■■□□ 60%」のような進捗バーを自分で作れます。コピペで使える式で解説します。
準備するもの
進捗の割合を計算できるように、次のどちらかがあればOKです。
- 完了数と全体数の2つの数値プロパティ、または
- 0〜100の進捗(%)を入れる数値プロパティ。
ここでは 完了数 / 全体数 から割合を出す前提で進めます。
考え方
バーは「塗られた部分」と「空の部分」を、記号で並べて作ります。まず10個ぶんの塗りと空の文字を用意し、割合に応じて何個塗るかを決めて、その分だけ切り出してつなぎます。
- 塗り:
██████████(10個) - 空 :
░░░░░░░░░░(10個)
コピペ用の式
関数プロパティを追加し、次を貼り付けます(完了数・全体数 は自分のプロパティ名に合わせてください)。
slice("██████████", 0, floor(prop("完了数") / prop("全体数") * 10)) +
slice("░░░░░░░░░░", 0, 10 - floor(prop("完了数") / prop("全体数") * 10)) +
" " + format(round(prop("完了数") / prop("全体数") * 100)) + "%"
やっていること:
prop("完了数") / prop("全体数") * 10で「10個中いくつ塗るか」を計算し、floorで小数を切り捨てます。slice(文字列, 0, 個数)で、塗り記号をその個数ぶん切り出します。- 残りを空記号で埋め、最後に
round(... * 100)で丸めたパーセントを添えます。
結果は ██████░░░░ 60% のように表示されます。
つまずきポイント
- 赤いエラー: プロパティ名(
完了数・全体数)が実際の名前と完全一致しているか確認。 - 0での割り算: 全体数が0だとエラーになります。気になる場合は先頭で
if(prop("全体数") == 0, "未設定", 〜)と空判定を足します。 - 記号を変えたい:
█/░の代わりに●/○や▰/▱でも作れます。塗りと空を同じ個数(10個)にそろえるのがコツです。
もっと手軽な方法もある
バーの見た目にこだわらないなら、進捗(%)の数値をそのまま置くだけでも十分です。また、Notionのボードビューで「ステータス」を使えば、視覚的な進捗管理は別の形でも実現できます(ステータスとセレクトの違い参照)。
式の中身が難しく感じたら、先にNotionの関数(数式)の使い方を読むと、slice や floor の役割がすっきり分かります。