数式の使用を開始Get started with formulas

(Excel で行われるように) 値を計算してその他のタスクを実行するだけでなく、(アプリが必要とするように) ユーザー入力に応答する数式を利用して、アプリを構成します。Configure your app with formulas that not only calculate values and perform other tasks (as they do in Excel) but also respond to user input (as an app requires).

  • Excel では、たとえばセルに入力を行ってテーブルとグラフを作成する数式を構築します。In Excel, you build formulas that, for example, populate cells and create tables and charts.
  • PowerApps では、セルではなくコントロールを構成し、同様の数式を構築します。In PowerApps, you build similar formulas as you configure controls instead of cells. さらに、スプレッドシートではなく特定のアプリに適用される数式を構築します。In addition, you build formulas that apply specifically to apps instead of spreadsheets.

たとえば、ボタンの選択、スライダーの調整、またはその他の入力がユーザーによって行われた場合にアプリがどのように応答するかを決定する数式を構築します。For example, you build a formula to determine how your app responds when users select a button, adjust a slider, or provide other input. これらの数式により、異なる画面を表示したり、アプリの外部にあるデータ ソースを更新したり、既存のテーブルに存在するデータのサブセットが含まれたテーブルを作成したりできます。These formulas might show a different screen, update a data source that's external to the app, or create a table that contains a subset of the data in an existing table.

数式は、さまざまなシナリオで利用できます。You can use formulas for a wide variety of scenarios. たとえば、Location.LatitudeLocation.Longitude が使用される数式、デバイスの GPS、マップ コントロールを使って、現在の場所を表示できます。For example, you can use your device's GPS, a map control, and a formula that uses Location.Latitude and Location.Longitude to display your current location. 移動すると、マップによって場所が自動的に追跡されます。As you move, the map automatically tracks your location.

このトピックでは、数式の操作の概要のみを示します。This topic provides only an overview of working with formulas. 詳しい情報のほか、使用できる関数、演算子、その他の構成要素の完全な一覧については、数式のリファレンスを参照してください。Browse the formula reference for more details and the complete list of functions, operators, and other building blocks you can use.

前提条件Prerequisites

単純な値の表示Show a simple value

Excel では、「42」という数字や「Hello World」というフレーズなど、特定のデータをセルに打ち込んで入力できます。In Excel, you can enter a specific piece of data, such as the number 42 or the phrase Hello World, by typing it into a cell. このセルには、常に入力したとおりにデータが表示されます。That cell will always show that data exactly as you typed it. PowerApps では、同じように変更されないデータを指定できます。これを行うには、ラベルの Text プロパティに目的の一連の文字を二重引用符で囲んで正確に設定します。In PowerApps, you can similarly specify a piece of data that doesn't change by setting the Text property of a label to the exact sequence of characters that you want, surrounded by double quotation marks.

  1. (画面の左端にある) [File (ファイル)] メニューの [New (新規)] を選択します。Select New on the File menu (near the left edge of the screen).
  2. [Create an app (アプリの作成)] で、[Blank app (空のアプリ)] タイルの [Phone layout (Phone レイアウト)] を選択します。Under Create an app, select Phone layout on the Blank app tile.

    数式バーは画面の最上部にあります。The formula bar sits at the top of the screen.

    数式バー

    このバーには、2 つの部分があります。This bar has two parts:

    • "プロパティの一覧": 各コントロールと画面にはプロパティがあります。Property list: Each control and screen has a set of properties. この一覧を使って特定のプロパティを選択します。Use this list to select a specific property.
    • "数式": 上記のプロパティの計算に使用される数式。値、演算子、関数で構成されます。Formula: The formula to be calculated for this property, made up of values, operators, and functions.

      数式バーで、選択したコントロールのプロパティを表示して編集できます。また、コントロールが選択されていない場合は、画面のプロパティを表示して編集できます。In the formula bar, you can see and edit properties for the selected control or for the screen if no controls are selected. 選択されたコントロールの名前は、[Content (コンテンツ)] タブで確認できます。You can see the name of the selected control on the Content tab:

      現在選択されているコントロールを表示するコンテンツ バー

      [Content (コンテンツ)] タブで名前をクリックして、選択されているコントロールの名前を変更できます。You can change the name of the selected control in the Content tab by clicking the name.

  3. 画面にラベル コントロールを追加します。Add a Label control to the screen.

    テキスト ボックス コントロールの追加

    ラベルを追加すると、プロパティの一覧に Text プロパティが自動的に表示されます。このプロパティで、コントロールに表示される内容が決まります。When you add a label, the property list automatically shows the Text property, which drives what the control shows. 既定では、このプロパティの値は "Text" になっています。By default, the value of this property is "Text".

  4. Text プロパティの値を "Hello World" に設定します。このとき、この文字列を二重引用符で囲んで数式バーに入力します。Set the value of the Text property to "Hello World" by typing that string, surrounded by double quotes, into the formula bar:

    ラベル "Hello World" の使用

    入力が済むと、新しいこの値がラベルに反映されます。The label reflects this new value as you type it. 入力中、黄色の感嘆符アイコンが画面に表示される場合があります。The screen may show yellow exclamation-point icons while you type. これらのアイコンはエラーを示します。しかし、有効な値の入力を完了すると、表示されなくなります。These icons indicate errors, but they'll go away when you finish entering a valid value. たとえば、両側に二重引用符のない文字列は無効です。For example, a string without double quotation marks on both ends isn't valid.

    Excel では、42 などの数値を表示するには、その数値をセルに入力したり、その数値が解となる数式 (=SUM(30,12) など) を入力したりします。In Excel, you can show a number, such as 42, by typing it into a cell or by typing a formula that resolves to that number, such as =SUM(30,12). PowerApps では、ラベルなどのコントロールの Text プロパティに 42 または Sum(30,12) を設定することで、同じ結果を得ることができます。In PowerApps, you can achieve the same effect by setting the Text property of a control, such as a label, to 42 or Sum(30,12). ワークシートまたはアプリのその他の変更に関係なく、セルとラベルにはいつもこの数値が表示されます。The cell and the label will always show that number regardless of what else changes in the worksheet or the app.

    注意

    PowerApps では、Excel のように数式の前に等号またはプラス記号を使用することはありません。In PowerApps, you don't precede a formula with an equals sign or a plus sign as you do in Excel. 数式バーでは、そこに入力したものはすべて既定で数式として処理されます。The formula bar treats anything you type there as a formula by default. さらに、先ほどテキストの文字列を指定したときのように、二重引用符 (") で数式を囲むことはしません。You also don't surround a formula with double quotation marks ("), as you did earlier to specify a string of text.

  5. ラベルの Text プロパティで、"Hello World"Sum(1,2,3) に置き換えます。In the Text property of the label, replace "Hello World" with Sum(1,2,3).

    「Sum(1,2,3」のように部分関数を終わりかっこなしで入力すると、エラーが発生します。

    入力中、数式バーにこの関数の説明と必要な引数が表示されます。While you type, the formula bar helps you by showing the description and the expected arguments for this function. "Hello World" の末尾の二重引用符と同様に、この数式の末尾のかっこを入力するまで、画面にはエラーを示す黄色の感嘆符が表示されます。As with the final double quotation mark in "Hello World", the screen shows yellow exclamation points to indicate an error until you type the final parenthesis of this formula:

    完全な数式 Sum(1,2,3) の使用

入力に基づいた値の変更Change a value based on input

Excel では、「=SUM(A1:A2)」とセルに入力すると、セル A1 と A2 に含まれている値の合計が表示されます。In Excel, you type =SUM(A1:A2) into a cell to show the sum of whatever values cells A1 and A2 contain. これらの値の一方または両方が変更されると、数式が含まれているセルには、更新された結果が自動的に表示されます。If either or both of those values change, the cell that contains the formula automatically shows the updated result.

2 つの数値の合計を再計算する Excel の図

PowerApps では、コントロールを追加してそのプロパティを設定することで、同様の結果を得ることができます。In PowerApps, you can achieve a similar result by adding controls and setting their properties. 次の例には、前の手順で使用したラベルのほか、TextInput1TextInput2 という名前の 2 つのテキスト入力コントロールが示されています。This example shows the label from the previous procedure and two Text input controls, named TextInput1 and TextInput2.

2 つの数値の合計を再計算する PowerApps の図

テキスト入力コントロールにどのような数値を入力しても、ラベルにはいつもその数値の合計が表示されます。これは、Text プロパティに次の数式が設定されているためです。Regardless of what numbers you type in the text-input controls, the label always shows the sum of those numbers because its Text property is set to this formula:
TextInput1 + TextInput2TextInput1 + TextInput2

2 つの数値の合計を再計算する PowerApps の図

Excel では、たとえば負の値を赤色で表示するなど、条件付き書式を使用できます。In Excel, you can use conditional formatting to show, for example, negative values in red. PowerApps では、If 関数が含まれた数式を使用して、Excel と同様の動作を実現します。In PowerApps, you use a formula that contains the If function, which behaves similarly to how it behaves in Excel.

  1. ラベルの Color プロパティに次の数式を設定します。Set the Color property of the label to this formula:
    If( Value(TextBox1.Text) < 0, Red, Black )If( Value(TextBox1.Text) < 0, Red, Black )

    注意

    数式では、コントロールのプロパティを指定する際に、コントロールの名前、ピリオド、プロパティの名前を順番に入力します。In a formula, specify the property of a control by providing the name of the control, followed by a period, followed by the name of the property. たとえば、TextBox1Text プロパティは、「TextBox1.Text」と入力して指定します。For example, specify the Text property of TextBox1 by typing TextBox1.Text.

    値に基づいてラベルの色の変更を再計算する PowerApps の図

  2. TextInput1TextInput2 に、合計すると負の数値になる 2 つの数値を指定します。In TextInput1 and TextInput2, specify two numbers that, when added together, result in a negative number.

    値に基づいてラベルの色の変更を再計算する PowerApps の図

    ラベルの値が赤色で表示されます。The value in the label appears in red.

ユーザー入力に基づいた色の変更Change a color based on user input

ユーザーがアプリの外観または動作を変更できるように、数式を使用してアプリを構成できます。You can configure your app with formulas so that users can change your app's appearance or behavior. たとえば、フィルターを作成してユーザーが指定したテキストの文字列が含まれたデータのみを表示したり、データ セット内のある特定の列に基づいて一連のデータをユーザーが並べ替えられるようにしたりできます。For example, you can create a filter to show only data that contains a string of text that the user specifies, or you can let users sort a set of data based on a certain column in the data set. この手順では、1 つ以上のスライダーを調整することで、ユーザーが画面の色を変更できるようにします。In this procedure, you'll let users change the color of the screen by adjusting one or more sliders.

  1. 前の手順のコントロールを削除します。または、先ほど行ったように空のアプリを作成します。その後、3 つのスライダー コントロールを追加します。Remove the controls from the previous procedures, or create a blank app as you did previously, and add three slider controls to it:

    スライダー コントロールの挿入

  2. 重ならないようにスライダーを配置し、3 つのラベルを追加して、RedGreenBlue と表示されるように構成します。Arrange the sliders so they don't overlap, add three labels, and configure them to show Red, Green, and Blue:

    スライダーの配置と各色コンポーネントのラベルの追加

  3. 各スライダーの Max プロパティを 255 に設定します。この値は、RGBA 関数の色コンポーネントの最大値です。Set the Max property of each slider to 255, which is the maximum value of a color component for the RGBA function.

    Max プロパティを [Content (コンテンツ)] タブまたはプロパティの一覧で選択することで指定できます。You can specify the Max property by selecting it on the Content tab or in the property list:

    各スライダーの最大値の変更

  4. コントロールから離れた場所をクリックして画面を選択し、画面の Fill プロパティに次の数式を設定します。Select the screen by clicking away from any control, and then set the screen's Fill property to this formula:
    RGBA( Slider1.Value, Slider2.Value, Slider3.Value, 1 )RGBA( Slider1.Value, Slider2.Value, Slider3.Value, 1 )

    既に説明したとおり、コントロール プロパティへのアクセスには .As already described, you access control properties by using the . operator. Slider1.Value はスライダーの Value プロパティを参照し、ユーザーが MinMax の間の値で設定したスライダーの位置が反映されます。Slider1.Value refers to the slider's Value property, which reflects where the user has placed the slider between the Min and Max values. この数式を入力すると、数式に含まれている各コントロールには画面と数式バーで同じ色が付きます。As you type this formula, each control that it contains is color coded between the screen and the formula bar:

    画面の背景塗りつぶし色に関する数式の変更 (未完了)

    閉じかっこを入力すると、各スライダーの既定の値 (50) に基づいて、画面の背景が濃い灰色に変わります。As you type the closing parenthesis, the screen's background will change to dark gray based on the default value of each slider, which is 50. 数式の入力が完了した瞬間に計算が行われ、背景塗りつぶし色の値として使用されます。At the moment when you finish typing the formula, it's calculated and used as the value of the background fill color. 既定のワークスペースでアプリを対話的に操作でき、プレビューを開く必要がありません。You can interact with your app while in the default workspace without needing to open Preview:

    各スライダーの最大値の変更

  5. スライダーを調整し、変更が背景色に与える影響を確認します。Adjust the sliders, and see how your changes affect the background color.

    各スライダーを変更すると、RGBA 関数が含まれている数式が再計算され、画面の表示がすぐに変更されます。As each slider changes, the formula that contains the RGBA function is recalculated, which immediately changes how the screen appears.

    画面の背景塗りつぶし色に関する数式の変更 (完了)

アプリの動作の管理Manage app behavior

数式は、計算の実行と外観の変更だけでなく、アクションの実行にも利用できます。You can use formulas not only to perform calculations and change appearance but also to take action. たとえば、ボタンの OnSelect プロパティに、Navigate 関数が含まれた数式を設定できます。For example, you can set the OnSelect property of a button to a formula that includes the Navigate function. ユーザーがこのボタンを選択すると、数式で指定されている画面が表示されます。When a user selects that button, the screen that you specify in the formula appears.

Navigate 関数や Collect 関数など、いくつかの関数は動作の数式でのみ使用できます。You can use some functions, such as Navigate and Collect, only in behavior formulas. このコンテキスト内のみで関数を使用できる場合に、数式参照による呼び出しが行われます。The formula reference calls out if you can use a function only in this context.

セミコロン (;) で関数を分離すると、動作の数式で複数のアクションを実行することができます。You can take more than one action in a behavior formula if you separate functions with a semi-colon (;). たとえば、コンテキスト変数を更新してデータ ソースにデータをプッシュし、最後に別の画面に移動することができます。For example, you might want to update a context variable, push data to a data source, and finally navigate to another screen.

カテゴリ別のプロパティの一覧表示View a list of properties by category

プロパティの一覧では、プロパティがアルファベット順で表示されます。しかし、[View (表示)] タブの [Advanced (詳細)] オプションを選択すると、(カテゴリ別に整理して) コントロールのプロパティをすべて表示することもできます。The properties list shows properties alphabetically, but you can also view all the properties of a control, organized by category, if you select the Advanced option on the View tab:

[Advanced (詳細)] ビュー

このビューの中で直接数式を編集できます。You can edit formulas directly within this view. ウィンドウの最上部にあるコントロール セレクタ―では、操作するコントロールをすばやく見つけることができます。With the control selector at the top of the pane, you can quickly find a control to work with. また、プロパティの検索を使用すると、そのコントロールのプロパティをすばやく見つけることができます。And with the property search, you can quickly find a property of that control.

最初に、このビューには最も重要なプロパティが表示されます。Initially, this view shows the most important properties. すべてのプロパティを表示するには、ウィンドウの下部にある下向き矢印をクリックします。To reveal all the properties, click the down arrow at the bottom of the pane. 各コントロールには、コントロールの動作と外観のあらゆる要素を制御するプロパティの長い一覧があります。Each control has a long list of properties that govern all aspects of the control's behavior and appearance. 一覧をスクロールしたり、ウィンドウの上部にあるボックスに入力してプロパティを検索したりできます。You can scroll through the list or search for a property by typing in the box at the top of the pane.

数式の構文Formula syntax

数式バーに数式を入力すると、異なる構文要素がそれぞれ別の色で表示され、読みやすさが向上し、長い数式をより簡単に理解できるようになりました。As you type a formula in the formula bar, different syntax elements appear in different colors to improve readability and help you understand long formulas. PowerApps のカラー コードの一覧を示します。Here is the color code list in PowerApps.

構文の強調表示