Make.comには100を超える関数が用意されています。ただ、実際のシナリオで登場するのは10個台です。
残りは「そういうものもある」で構いません。全部を眺めても覚えられないので、頻繁に使うものだけ先に押さえたほうが早い。
この記事では、その12個をカテゴリ別に整理します。
そもそも関数はどこで使うのか
モジュールの入力欄をクリックすると、マッピングパネルが開きます。その上部にタブが並んでいて、そこに関数が入っています。
役割は、受け取ったデータの形を変えることです。
海外旅行の変換プラグに近い。コンセントの形が合わないと、そのままでは差さらない。前のモジュールが返す形式と、次のモジュールが求める形式が違うときに、間に挟んで形を合わせる。それが関数の仕事です。
要するに、データを右から左に流すだけなら関数は不要。加工が必要になった瞬間に出番が来ます。
先に知っておくべき2つの仕様
ここを知らないとエラーの原因が分かりません。
1つ目:引数の区切りはセミコロン
多くのプログラミング言語ではカンマですが、Makeはセミコロンです。カンマで書くと動きません。
正:formatDate(now; “YYYY-MM-DD”)
誤:formatDate(now, “YYYY-MM-DD”)
地味なポイントですが、他所からコピーしてきた式が動かない原因の多くがこれです。
2つ目:配列の番号は1から
配列の最初の要素は0番ではなく1番です。プログラミング経験がある人ほど間違えます。
日付の関数(最頻出)
実務で一番使うカテゴリです。ファイル名、記録用のタイムスタンプ、検索期間の指定。あらゆる場面で登場します。
1. formatDate
日付を指定した文字列に変換します。
{{formatDate(now; “YYYY-MM-DD”)}} → 2026-08-18
{{formatDate(now; “YYYY年M月D日”)}} → 2026年8月18日
{{formatDate(now; “YYYYMMDD_HHmmss”)}} → 20260818_143000
3つ目はファイル名に便利です。日時をつけておくと、あとから探すときの手間がまるで違います。
2. now
現在の日時を返します。関数というより組み込みの値ですが、日付処理では必ず出てきます。
注意点として、nowが返すのは組織のタイムゾーン設定に基づく時刻です。ここが日本時間になっていないと、記録される日付が9時間ずれます。
3. addDays
指定した日数を足し引きします。マイナスを指定すれば過去になります。
{{formatDate(addDays(now; 7); “YYYY-MM-DD”)}} → 1週間後
{{formatDate(addDays(now; -3); “YYYY-MM-DD”)}} → 3日前
「過去3日分のデータを取得する」といった検索条件で頻繁に使います。addMonths、addYearsも同じ書き方です。
4. parseDate
文字列を日付として認識させます。formatDateの逆方向です。
外部サービスから受け取った日付は、たいてい文字列です。そのままでは日付の計算ができないので、一度parseDateを通す必要があります。
{{parseDate(“2026/08/18”; “YYYY/MM/DD”)}}
第2引数には、元の文字列がどういう形式かを書きます。出力形式ではありません。ここを取り違える人が多いです。
条件分岐の関数
5. if
条件によって値を変えます。
{{if(1.status = “完了”; “✓”; “作業中”)}}
フィルターで分岐させるほどでもない、小さな出し分けに便利です。
6. ifempty
値が空だったときの代わりを指定します。実務での使用頻度はifより高いかもしれません。
{{ifempty(1.company; “個人”)}}
フォームの任意項目が空欄のまま次の処理に流れて、そこでエラーになる。この事故を防ぐのがifemptyです。
ただし万能ではありません。空の値をformatDateに渡すとエラーになるケースでは、ifemptyを外側に置いても止まらないことがあります。この場合は先に条件で処理を分ける必要があります。
文字列の関数
7. replace
文字列の一部を置き換えます。
{{replace(1.name; “株式会社”; “”)}}
不要な文字を削るときは、置換先を空にします。表記ゆれの統一で活躍します。
8. trim
前後の余分な空白を削ります。
手入力のデータには、見えない空白がかなり混ざっています。突き合わせがうまくいかない原因の定番なので、比較の前に通しておくと安全です。
9. split
区切り文字で文字列を分解して配列にします。
{{split(1.tags; “,”)}}
「A,B,C」のようにまとまって届いたデータを、個別に処理したいときに使います。
10. join
splitの逆で、配列を1つの文字列にまとめます。複数の結果を1通の通知にまとめたいときに便利です。
{{join(1.array; “、”)}}
配列・数値の関数
11. map
配列の中から、指定した項目だけを抜き出します。
{{map(1.array; “name”)}}
複雑な構造のデータから必要な値だけを取り出す場面で登場します。ただし、mapの中で日付の整形をしようとすると期待どおり動かないことがあり、その場合は集約モジュールを併用する構成になります。
12. formatNumber
数値を読みやすい形式にします。
{{formatNumber(1000000; 0)}} → 1,000,000
金額をメールや通知に載せるとき、桁区切りがあるだけで印象が変わります。
なお、計算をさせたい値が文字列で届いている場合は、先にparseNumberを通す必要があります。数値の関数は文字列を受け付けません。
つまずきやすいポイント
入れ子にすると読めなくなる
関数は入れ子にできます。ただし3段以上重ねると、自分でも何をしているか分からなくなります。
{{formatDate(addDays(parseDate(1.date; “YYYY/MM/DD”); 7); “M月D日”)}}
これくらいが限界だと思います。これ以上複雑になるなら、Set variableで一度受けて分解したほうが後から読めます。
実行ログで確かめる
関数が期待どおり動いているかは、頭で考えるより実行したほうが早いです。Run onceで動かして、該当モジュールの出力を開けば、実際の値が見られます。
Makeの気になるところ
正直に書くと、Makeの関数エディタは使いやすいとは言えません。入力欄が狭く、長い式を書くと全体が見えなくなる。括弧の対応も色分けされないので、閉じ忘れに気づきにくい。
長い式を書くときは、メモ帳などで組み立ててから貼り付けるほうが確実です。私もこのブログの記事生成をMakeで回していた頃は、そうしていました。
よくある質問
関数を使うとクレジットは増えますか
増えません。関数はモジュール内の処理なので、追加のクレジットは発生しません。処理を減らせる場合はむしろ節約になります。
日本語の関数名はありますか
ありません。関数名も引数もすべて英語です。
自作の関数は作れますか
カスタム関数の機能はありますが、上位プラン向けです。標準プランでは組み込み関数の組み合わせで対応することになります。
関数の一覧はどこで見られますか
マッピングパネルのタブを切り替えると、カテゴリ別に全関数が並んでいます。各関数にカーソルを合わせると、書式の説明が出ます。
正規表現は使えますか
replaceの第2引数に正規表現を渡せます。複雑な抽出をしたい場合はこの方法になりますが、まずは単純な文字列指定で足りないか確認してください。
まとめ
12個と書きましたが、最初に覚えるべきは3つです。formatDate、ifempty、replace。日付を整えて、空欄を埋めて、余計な文字を削る。実務で必要になる加工の大半はこれで足ります。
残りは、必要になったときに調べれば十分です。関数は暗記するものではなく、詰まったときに引くものなので。
※本リンクはアフィリエイトリンクです。
無料プランでも関数はすべて使えます。まずはSet variableに書いてみて、出力を確認するところから → Make.com(※アフィリエイトリンクです)
覚える範囲を決める基準を1つ渡すとすれば、いまシナリオが動かない原因が何かです。データの形が合わないなら日付や文字列の関数、空欄で止まるならifempty。答えは関数一覧の上から順にではなく、あなたのシナリオが赤くなっている、あのモジュールの中にあります。


コメント