Power Appsでボタンの動きや一覧の表示を設定するとき、よく使うのが関数です。
関数は難しいプログラムのように見えるかもしれません。しかし、基本は「決められた名前に必要な情報を渡すと、決められた処理をしてくれる仕組み」です。たとえば、今日の日付を表示する、一覧を絞り込む、別の画面へ移動するといった処理を、短い式で表せます。
この記事では、関数の基本を「魔法の呪文」にたとえながら、関数名・引数・戻り値の3つに分けて説明します。最後には、長い式を読むコツも確認します。
まずは完成イメージを見てみよう
Power Appsでは、画面上のボタンやラベルなどの部品をコントロールと呼びます。そして、コントロールの表示や動きを決める設定項目がプロパティです。
たとえば、次のように関数を使います。
| やりたいこと | 関数を入力する場所 | 式の例 |
|---|---|---|
| ラベルに今日の日付を表示する | ラベルの Text プロパティ |
Today() |
| ボタンを押したら別画面へ移動する | ボタンの OnSelect プロパティ |
Navigate(BrowseScreen1) |
| 条件に合うデータだけを一覧表示する | ギャラリーの Items プロパティ |
Filter(社員一覧, 部署 = "営業部") |
つまり、関数は単独で覚えるのではなく、どのプロパティで、何を実現したいのかと組み合わせて考えるのがポイントです。
関数は「決められた働きをする道具」
関数をひとことで表すと、必要な情報を受け取り、決められた処理をする仕組みです。
初めは「魔法の呪文」のように考えてもかまいません。正しい呪文を、決められた形で唱えると、決められた効果が起きるからです。
| 魔法にたとえると | Power Appsでは | 意味 |
|---|---|---|
| 呪文の名前 | 関数名 | 何をするかを表す名前 |
| 呪文に込める材料 | 引数(ひきすう) | 関数に渡す対象や条件 |
| 呪文の効果 | 戻り値(もどりち) | 関数を実行して得られる結果 |

たとえば、Int(3.7) は「3.7の小数点以下を切り捨てる」という式です。
- 関数名:
Int - 引数:
3.7 - 戻り値:
3
この3つの役割を分けて見ると、式の意味を読み取りやすくなります。
「引数」は関数に渡す情報
引数は、関数に渡す対象や条件です。基本的には、関数名の後ろにあるカッコの中へ書きます。
引数が1つの例
Int(3.7)
Int 関数に 3.7 を渡すと、小数点以下を切り捨てた 3 が返ります。
引数が2つある例
Mod(130, 60)
Mod 関数は、割り算の余りを求める関数です。
- 第1引数:
130(割られる数) - 第2引数:
60(割る数) - 戻り値:
10
引数には順番があります。Mod(60, 130) と書くと結果は 60 になるため、同じ数字でも順番を入れ替えると意味が変わります。
分からない関数が出てきたら、Microsoft公式ドキュメントの「構文」を確認してください。構文を見ると、どの位置に何を指定するかが分かります。
引数がない関数もある
Today()
Now()
Today() は実行した日の日付、Now() は実行した時点の日付と時刻を返します。どちらも引数はありませんが、関数であることを表すカッコ () は必要です。
省略できる引数もある
公式ドキュメントの構文で [ ] に囲まれている部分は、省略できる引数です。たとえば、Navigate 関数は次の形で説明されています。
Navigate(画面 [, 画面切り替えの効果 [, コンテキスト変数 ]])
最初の「画面」は必須です。それより後ろの [ ] に入った部分は、必要なときだけ指定します。
Navigate(BrowseScreen1)
この式では、移動先の画面だけを指定し、画面切り替えの効果などは省略しています。
「戻り値」は関数を実行して得られる結果
戻り値は、関数を実行して得られる結果です。「返り値(かえりち)」と呼ばれることもありますが、意味は同じです。
戻り値には、数値や文字だけでなく、日付、true/false、データ1行分、データの表など、さまざまな種類があります。
| 戻り値の種類 | 例 | 関数の例 |
|---|---|---|
| 数値 | 3、10 |
Int、Mod、Sum |
| 文字列 | "9:00" |
Text |
| 日付・時刻 | 今日の日付、現在時刻 | Today、Now |
| true/false | 条件に合うかどうか | StartsWith |
| レコード | 社員1人分など、データ1行 | LookUp、Last |
| テーブル | 条件に合うデータの一覧 | Filter、Search、Sort |
戻り値の種類と、入力先のプロパティが合っていることも大切です。たとえば、ギャラリーの Items プロパティには、一覧表示できるテーブルを返す式を入力します。
結果を返す関数と、動作を起こす関数
関数の中には、値を計算して返すものだけでなく、画面を移動したり、データを保存したりするものもあります。
| 主な目的 | よく使うプロパティ | 関数の例 |
|---|---|---|
| 表示や計算に使う結果を得る | Text、Items、Default |
Today、Filter、Sum |
| アプリに動作を起こさせる | OnSelect、OnSuccess |
Navigate、SubmitForm、Notify |
たとえば、ボタンの OnSelect プロパティに次の式を書くと、ボタンを選択したときに BrowseScreen1 へ移動します。
Navigate(BrowseScreen1)
なお、Navigate 関数も、正常に実行されたときは true、エラーが起きたときは false を返します。ただし、通常は画面を移動させる目的で使うため、戻り値を意識する場面は多くありません。
複数の動作は順番につなげられる
日本語環境など、小数点にピリオドを使う地域では、複数の動作を半角セミコロン ; でつなぎます。
NewForm(EditForm1); Navigate(EditScreen1)
この式は、次の順番で実行されます。
NewForm(EditForm1)でフォームを新規入力モードにするNavigate(EditScreen1)で編集画面へ移動する
区切り記号は地域設定によって変わる
Power Fxの区切り記号は、作成者の言語・地域設定によって変わります。
- 日本語環境など:引数は
,、処理の連結は; - 小数点にカンマを使う地域:引数は
;、処理の連結は;;
この記事では日本語環境の表記で説明しています。別の環境で式をコピーしたときにエラーが出る場合は、まず区切り記号を確認してください。
長い式は「内側から」読む
ある関数の戻り値を、別の関数の引数として使うことがあります。このような書き方をネスト(入れ子)といいます。
Sort(
Search(社員一覧, TextInput1.Text, エリア),
Title,
SortOrder.Descending
)
長い式は、外側から一度に理解しようとせず、内側から順番に確認します。
Search(...)が、検索語を含むデータの一覧を返すSort(...)が、その一覧をTitle列の降順に並べ替える- 最終的に、並べ替えた一覧がギャラリーなどに表示される

ポイントは、内側の関数の戻り値が、外側の関数の引数になることです。
Power Appsで実際に試してみよう
ここで一度、短い式を入力して動きを確認しましょう。
- キャンバスアプリにラベルを1つ追加します。
- ラベルを選択し、
Textプロパティを開きます。 - 数式バーに
Text(Today(), "yyyy/mm/dd")と入力します。 - ラベルに今日の日付が表示されることを確認します。
うまく表示されない場合は、次の点を順番に確認してください。
- 関数名のつづりが正しいか
- カッコの数が合っているか
- 記号が半角になっているか
- 引数の区切り記号が自分の地域設定に合っているか
- 式を入力しているプロパティが
Textになっているか
まとめ
- 関数は、必要な情報を受け取り、決められた処理をする仕組み
- 関数名は「何をするか」、引数は「何を渡すか」、戻り値は「何が得られるか」を表す
- 引数には数、順番、省略できるかどうかの決まりがある
- 戻り値の種類と、入力先のプロパティが合っていることが大切
- 地域設定によって、引数や処理をつなぐ区切り記号が変わる
- ネストされた長い式は、いちばん内側の関数から読む
関数を暗記する必要はありません。まずは「このプロパティで何を実現したいのか」を決め、分からない関数はMicrosoft公式ドキュメントの構文で確認する習慣をつけましょう。



