こんな思いを持っている人向けに、notionのデータベースで使える関数の一覧を作成しました。
ここに掲載している関数を使いこなして、自分に合ったnotionページを作成してみてください。
- notionのテーブルを利用していきたい人
- formulaの使い方がわからない人
- formulaの新しい使い方を発見したい人
- 1 Notionはマルチに使える便利アプリ
- 2 Functions(関数)
- 2.1 concat
- 2.2 join
- 2.3 slice
- 2.4 length
- 2.5 format
- 2.6 contains
- 2.7 toNumber
- 2.8 replace
- 2.9 replaceAll
- 2.10 empty
- 2.11 abs
- 2.12 cbrt
- 2.13 ceil
- 2.14 floor
- 2.15 max
- 2.16 min
- 2.17 round
- 2.18 sign
- 2.19 sqrt
- 2.20 now
- 2.21 timestamp
- 2.22 fromTimestamp
- 2.23 dateAdd
- 2.24 dateSubstract
- 2.25 dateBetween
- 2.26 start
- 2.27 end
- 2.28 formatDate
- 2.29 minute
- 2.30 hour
- 2.31 day
- 2.32 date
- 2.33 month
- 2.34 year
- 3 Operations
- 4 Constants(定数)
- 5 Formulaを使いこなしてNotionを有効活用しよう
Notionはマルチに使える便利アプリ
Notionの活用例
Notionを使うと以下のようなことができます。
- タスク管理
- 読んだ本の管理
- 料理のレシピを管理
- 行きたいお見せリストの管理
何に使うかは自分次第で非常に自由度の高いアプリです。
何でもできてしまいます。
上に載せている画像はこのブログを書いている”ともたん”が実際に作成したNotionページです。
データベースにタスクを登録することで自動的に
「今週のタスクのみが抽出され、抽出されたタスクがさらに曜日ごとに振り分けられる」
ようにしています。
1週間単位そして1日単位でやるべきタスク一覧が可視化されるので、抜け漏れがなくなります。
また終了したタスクのチェックボックスにチェックを入れることで、自分の努力が可視化され自分を褒めることができます。
私が作成したタスク管理ページでも以下でご紹介するFormulaを使っています。
Formulaとは?
Formulaはテーブルデータの値を用いて何らかの計算を行いたい時に使います。
エクセルで言えば数式のようなものです。
例えば
- 締め切り日までの残りの日数を自動計算
- 商品単価と販売個数から売り上げを自動計算
- 今日の日付を自動で取得
などを行うことができます。
Formulaを使いこなすことができれば、Notionをフル活用することができます。
Formulaにおいては以下の3つを使うことができます。
- Functions
- Operations
- Constants
Funcionsは関数のことです。
例えば、[1,3,4,3,3]の中から最大値を抽出するといった機能を果たすmax関数などがあります。
Operationsは関数処理をする時に必要な一般的な操作を担います。
たとえば条件分岐をさせたい時に使う「if」などがあります。
最後にConstantsは定数のことです。
定数の代表例としては円周率が挙げられます。
Functions(関数)
それでは早速、notionで使える関数について解説していきます。
concat
文字列を結合する関数です。
例えばconcatを使って「a」と「b」と「c」を結合すると以下になります。
concat("a","b","c") == "abc"
join
指定文字を間に挟みながら文字列を結合する関数です。
例えばjoinを使って間に「-」を挟みながら「a」と「b」と「c」を結合すると以下になります。
join("-","a","b","c") == "a-b-c"
slice
文字列の一部を切り取る関数です。
slice(切り取られる文字列, 切り取り開始位置, 切り取り終了位置)
もしくは
slice(切り取られる文字列, 切り取り開始位置)
のように使います。
切り取り終了位置を省略した場合、切り取り開始位置から最後の文字までを切り取ります。
sliceを使うときには以下の点に注意が必要です。
- 最初の文字は0番目として数える
- 切り取り終了位置の一個前の文字までが切り取られる
例えば「Hello world」の1番目の文字から4番目の文字までを切り取る場合は以下です。
slice("Hello world", 1, 5) == "ello"
”Hello world”であれば”H”が0番目、”e”が1番目というように数えられます。
3番目以降の文字を切り取る場合は以下です。
slice("notion", 3) == "ion"
length
文字列の長さ(文字数)を取得する関数です。
例えば”Hello world”にlength関数を使うと以下のようになります。
length("Hello world") == 11
“Hello”と”world”の間のスペースもカウントされるので11になります。
format
数値を文字列に変換する関数です。
Notionには数値型と文字列型があります。
数値型は足し算や引き算などの演算が可能な型になります。
一方で文字列型の数値は引き算などの演算は基本的に不可能です。
ただし文字列型の数値でも足し算だけはできます。
一見同じ数字でも足し算の結果は数値型と文字列型で異なりますのでご注意ください。
数値型の足し算は以下になります。
4 + 4 = 8
次に文字列型の足し算は以下になります。
"4" + "4" == "44"
文字列型の足し算では”4”と”4″という文字を結合した結果になります。
ここでのポイントは以下です。
異なる型同士の足し算はできない
4 + "ヶ月"
上記の例のように数値型と文字列型の足し算はできません。
もし数値と文字列を結合したい時は数値を文字列に変換してから足し算しましょう。
format(4) + "ヶ月" == "4ヶ月"
上記のように変換をしてください。
contains
ある文字列が特定の文字列を含んでいるかどうかを判定する関数です。
使い方は
contains(大元の文字列, 含まれているかを確認する文字列)
になります。
例えば以下です。
contains("notion", "ion") == true
contains("notion", "test") == false
結果は真偽値(trueもしくはfalse)が出力されます。
ある文字列が特定の文字列を含んでいる場合は「true」、含んでいない場合は「false」が出力されます。
toNumber
文字列を数値に変える関数です。
また真偽値(trueもしくはfalse)を数値に変換します。
例えば以下になります。
format("31") == 31
format(false) == 0
replace
最初に一致した文字列を置換する関数です。
使い方は
replace(置換対象の文字列, 置換したい文字列, 置換後に挿入したい文字列)
になります。
例えばreplaceを使うと以下の置換ができます。
replace("1-2-3", "-", "?") == "1?2-3"
replace関数を使用する際の注意点は以下です。
最初に一致した文字列のみ置換される
上で挙げた例で言うと”1-2-3″には2つの”-“がありますが、1つ目の”-“のみ置換されています。
もし全ての”-“を置換したい場合は以下のreplaceAll関数を使ってください。
replaceAll
指定した全ての文字列を置換する関数です。
replace関数と同じで使い方は
replaceAll(置換対象の文字列, 置換したい文字列, 置換後に挿入したい文字列)
になります。
例えばreplaceAll関数を使うと以下に置換ができます。
replaceAll("1-2-3", "-", "?") == "1?2?3"
empty
空の文字列かどうかを真偽値(tureもしくはfalse)で出力する関数です。
例えばemptyを使うと以下になります。
empty("") == true
abs
数値を絶対値に変換する関数です。
例えば-4をabs関数に渡すと4という数値が返ってきます。
これを数式で表すと以下になります。
abs(-4) == 4
cbrt
与えられた数値の立方根を出力する関数です。
例えばcbrtを使うと以下になります。
cbrt(8) == 2
ceil
与えられた数字よりも大きい整数のうち最小のものを出力する関数です。
例えばceil関数に3.2を代入すると以下の結果が得られます。
ceil(3.2) == 4
floor
与えられた数値を切り捨てて整数を出力する関数です。
例えばfloor関数を使うと以下になります。
floor(2.3) == 2
max
与えられた数値の中で最大値を出力する関数です。
例えばmax関数を使うと以下になります。
max(5, 2, 9, 3) == 9
max関数に与える数値は何個でもオッケーです。
min
与えられた数値の中で最小値を出力する関数です。
例えばmin関数を使うと以下になります。
min(4, 1, 5, 3) == 1
min関数に与える数値は何個でもオッケーです。
round
四捨五入をする関数です。
例えば4.2という数値をround関数に渡すと4という数値が返ってきます。
これを数式で表すと以下になります。
round(4.2) == 4
sign
与える数値の正負によって特定の数値を出力する関数です。
- 代入する値が0より大きい数字なら1
- 代入する値が0より小さい数字なら-1
- 代入する値が0なら0
例えばsign関数を使うと以下のような結果になります。
sign(3) == 1
sign(-5) == -1
sign(0) == 0
sqrt
与えられた数値の平方根を出力する関数です。
例えばsqrtを使うと以下になります。
sqrt(144) == 12
now
今日の日付を取得する関数です。
例えばnow関数を使うと以下のような結果になります。
now() == May 2, 2021 11:55 AM
timestamp
1970年1月1日を基準としてミリ秒で今の時間を表す関数です。
例えばtimestampを使うと以下のようになります。
timestamp(now()) == 1612593154718
fromTimestamp
1970年1月1日を基準とするミリ秒を今の日付に変換する関数です。
例えばfromTimestampを使うと以下のようになります。
fromTimestamp(1621220220000) == Mon May 17 2021
dateAdd
指定された日付に、指定された分の時間を足し算する関数です。
使い方は
dateAdd(元となる日付, 足し込みたい時間の量, 単位)
になります。
例えば2021年5月2日(今日)の1年後の日付を取得するときには以下のようになります。
dateAdd(now(), 1, "years") == May 2, 2022 11:55 AM
単位の部分には”years”以外にも様々な単位を指定することができます。
単位の一覧は以下になります。
years | 年単位 |
quarters | 四半期単位 |
months | 月単位 |
weeks | 週単位 |
days | 日単位 |
hours | 時間単位 |
minutes | 分単位 |
seconds | 秒単位 |
milliseconds | ミリ秒単位 |
dateSubstract
指定された日付に、指定された分の時間を引き算する関数です。
使い方は
dateAdd(元となる日付, 引き算したい時間の量, 単位)
になります。
例えば2021年5月2日(今日)の1年前の日付を取得するときには以下のようになります。
dateSubstract(now(), 1, "years") == May 2, 2020 11:55 AM
単位の部分には”years”以外にも様々な単位を指定することができます。
単位の一覧は以下になります。
years | 年単位 |
quarters | 四半期単位 |
months | 月単位 |
weeks | 週単位 |
days | 日単位 |
hours | 時間単位 |
minutes | 分単位 |
seconds | 秒単位 |
milliseconds | ミリ秒単位 |
dateBetween
日付と日付間の差分を計算する関数です。
dateBetween(引かれる日付, 引く日付, 結果の表示形式)のように書きます。
例えばある日まで今日から何日余裕があるのかを確認する時には以下のように書きます。
dateBetween(prop("date"), now(), "days")
“days”の部分を”weeks”, “months”などに変えることで関数処理をした結果の表示形式を変えることができます。
表示形式の一覧は以下です。
years | 年数単位で表示 |
months | 月単位で表示 |
quarters | 四半期単位で表示 |
weeks | 週単位で表示 |
days | 日数単位で表示 |
hours | 時間単位で表示 |
miniutes | 分単位で表示 |
seconds | 秒単位で表示 |
milliseconds | ミリ秒単位で表示 |
dateBetween(引かれる日付, 引く日付, 結果の表示形式)の結果の表示形式の部分を自分の目的に合わせて上の表のどれかに指定してください。
start
notionではある日付からある日付までを選択することができます。
これによってタスクを行う期間などを記録することができます。
start関数を使うとある期間のスタート日時を取得することができます。
例えば「タスク消化期間」という列にMay 3, 2021からMay 15, 2021という期間が選択されているときにstart関数を使うと以下のようになります。
start(prop("タスク消化期間")) == May 3, 2021
※prop(“タスク消化期間”)で「タスク消化期間」という列の値を取得しています。
end
end関数を使うとある期間の終了日時を取得することができます。
例えば「タスク消化期間」という列にMay 3, 2021からMay 15, 2021という期間が選択されているときにend関数を使うと以下のようになります。
start(prop("タスク消化期間")) == May 15, 2021
※prop(“タスク消化期間”)で「タスク消化期間」という列の値を取得しています。
formatDate
日付の表示形式を指定する関数です。
例えばformatDate関数を使うと以下のようになります。
formatDate(now(), "MMMM D YYYY, HH:mm") == March 30 2010, 12:00
formatDate(now(), "YYYY/MM/DD, HH:mm") == 2010/03/30, 12:00
formatDate(now(), "MM/DD/YYYY, HH:mm") == 03/30/2010, 12:00
formatDate(now(), "HH:mm A") == 12:00 PM
formatDate(now(), "M/D/YY") == 3/30/10
minute
minute関数を使うと日時から分情報を抽出することができます。
例えば今、何分かを抽出すると以下のようになります。
minute(now()) == 30
hour
hour関数を使うと日時から時間情報を抽出することができます。
例えば今、何時かを抽出すると以下のようになります。
hour(now()) == 13
day
day関数を使うと日時から曜日情報を抽出することができます。
なおday関数の出力は数値になります。
曜日と数値の対応表は以下になります。
0 | 日曜日 |
1 | 月曜日 |
2 | 火曜日 |
3 | 水曜日 |
4 | 木曜日 |
5 | 金曜日 |
6 | 土曜日 |
例えば今日、何曜日かを抽出すると以下のようになります。
day(now()) == 3
3なので今日は水曜日ということになります。
date
date関数を使うと日時から何日かという情報を抽出することができます。
1から31日までのいずれかの数値が出力されます。
例えば今日が何日かを抽出すると以下のようになります。
date(now()) == 17
month
month関数を使うと日時から何月かという情報を抽出することができます。
例えば今月が何月かを抽出すると以下のようになります。
month(now()) == 5
year
year関数を使うと日時から何年かという情報を抽出することができます。
例えば今年が何年かを抽出すると以下のようになります。
year(now()) == 2021
Operations
続いて関数を使う時に利用する便利な処理について解説します。
if
条件分岐をするための処理を書き込むための機能です。
使い方は
if(条件, 条件が成立する時, 条件が成立しない時)
になります。
例えば「a = -3」としてif文を使うと以下のようになります。
if(a > 0, "yes", "no") == "no"
条件部分は「a > 0」ですが、「a = -3」の場合は条件が成り立ちません。
そのため条件が成り立たなかった場合に出力される”no”が出力されます。
add
addでは足し算処理をすることができます。
例えばaddを使うと以下のようになります。
add(1, 5) == 6
これはaddを使って「1+5」の計算を行った例です。
ちなみにaddの代わりに「+」を使うのでも構いません。
substract
substractでは引き算処理をすることができます。
例えばsubstractを使うと以下のようになります。
substract(6, 2) == 4
これはsubstractを使って「6 – 2」の計算を行った例です。
ちなみにsubstractの代わりに「-」を使うのでも構いません。
multiply
multiplyでは掛け算処理をすることができます。
例えばmultiplyを使うと以下のようになります。
multiply(2, 11) == 22
これはmultiplyを使って「2×11」の計算を行った例です。
ちなみにmultiplyの代わりに「*」を使うのでも構いません。
divide
divideでは割り算処理をすることができます。
例えばdivideを使うと以下のようになります。
divide(15, 3) == 5
これはdivideを使って「15÷3」の計算を行った例です。
ちなみにdivideの代わりに「/」を使うのでも構いません。
pow
powではべき乗処理をすることができます。
例えばpowを使うと以下のようになります。
pow(3, 3) == 27
これはpowを使って「3の3乗」の計算を行った例です。
ちなみにpowの代わりに「^」を使うのでも構いません。
mod
modでは余り計算を行うことができます。
例えばmodを使うと以下のようになります。
mod(3, 2) == 1
これはmodを使って「3を2で割ったときの余り」の算出を行った例です。
ちなみにmodの代わりに「%」を使うのでも構いません。
unaryMinus
unaryMinusを使えば、数値の符号を判定することができます。
例えばunaryMinusを使うと以下のようになります。
unaryMinus(33) == -33
unaryMinus(-33) == 33
unaryPlus
unaryPlusを使えば、与えられた引数を数値に変換することができます。
例えばunaryPlusを使うと以下のようになります。
unaryPlus(true) == 1
unaryPlus(false) == 0
unaryPlus("33") == 33
not
notを使うとその後ろにくる真偽値を否定することができます。
例えばnotを使うと以下のようになります。
not true == false
not false == true
and
andを使うと「〇〇かつ〇〇」という論理を組み立てることができます。
例えばandを使うと以下のようになります。
true and false == false
true and true == true
false and false == false
or
orを使うと「〇〇または〇〇」という論理を組み立てることができます。
例えばorを使うと以下のようになります。
true or true == true
false or true == true
false or false == false
equal
equalを使うと左辺と右辺が等しいかをチェックすることができます。
例えばequalを使うと以下のようになります。
equal(2*10, 20) == true
これはequalを使って「2×10の計算結果と20が等しいかどうかの判定」を行った例です。
ちなみにequalの代わりに「==」を使うのでも構いません。
unequal
unequalを使うと左辺と右辺が等しくないかをチェックすることができます。
例えばunequalを使うと以下のようになります。
unequal(2*10, 30) == true
これはunequalを使って「2×10の計算結果と30が等しくないかどうかの判定」を行った例です。
ちなみにunequalの代わりに「!=」を使うのでも構いません。
larger
largerを使うと左辺が右辺よりも大きいかどうかをチェックすることができます。
例えばlargerを使うと以下のようになります。
larger(10, 3) == true
これはlargerを使って「10が3よりも大きいかどうかの判定」を行った例です。
ちなみにlargerの代わりに「>」を使うのでも構いません。
largerEq
largerEqを使うと左辺が右辺と等しいもしくは大きいかどうかをチェックすることができます。
例えばlargerEqを使うと以下のようになります。
largerEq(10, 3) == true
largerEq(3, 3) ==true
ちなみにlargerEqの代わりに「>=」を使うのでも構いません。
smaller
smallerを使うと左辺が右辺よりも小さいかどうかをチェックすることができます。
例えばsmallerを使うと以下のようになります。
smaller(10, 3) == false
これはsmallerを使って「10が3よりも小さいかどうかの判定」を行った例です。
ちなみにsmallerの代わりに「<」を使うのでも構いません。
smallerEq
smallerEqを使うと左辺が右辺と等しいもしくは小さいかどうかをチェックすることができます。
例えばsmallerEqを使うと以下のようになります。
smallerEq(10, 3) == false
smallerEq(3, 3) ==true
ちなみにsmallerEqの代わりに「<=」を使うのでも構いません。
Constants(定数)
最後にformulaで使える定数についてご紹介します。
e
ネイピア数のことです。
e == 2.718281828459045
タスク管理など一般的な用途でnotionを使う場合には、使うことはないです。
「そんなのがあるのか」程度の理解でオッケーです!
pi
円周率のことです。
pi == 3.14159265359
角度データを扱う時に使う場面があるかもしれません。
Formulaを使いこなしてNotionを有効活用しよう
Notionのデータベースを操作する時に利用する可能性のある「Formula」について解説しました。
Formulaを使いこなすことができれば、タスク管理やプロジェクト管理などを効率的に行うことができます。
ご自身の利用目的に合わせて便利なNotionページを作成してみてください!