
Power Appsでデータを整形・加工するために欠かせないテキスト関数を1記事にまとめました。スペース除去・文字列置換・切り出し・変換・結合まで、実務でよく使う10関数を用途別に解説します。

なぜテキスト関数が必要なのか
SharePointリストや入力フォームから取得したデータは、そのまま使えない形式であることが多いです。末尾にスペースが混入している、大文字小文字が統一されていない、コードの一部だけ取り出したい、複数の値を1本の文字列にまとめたい。こうした整形・加工の場面でテキスト関数が必要になります。
社内でPower Appsを教えていると、数式の書き方よりも「どの関数を使えばいいかわからない」という声のほうが多いです。この記事では用途別に整理したので、目的に合った関数を探す際の参考にしてください。
Power Apps開発の全体像についてはこちらの記事もご覧ください。
スペース除去:TrimとTrimEnds
文字列の両端や文字間の余分なスペースを取り除く関数です。入力フォームからデータを受け取るときに最初にかませる習慣をつけると、比較ミスや保存データの不整合を防げます。
- Trim:先頭・末尾のスペースを除去し、文字間の連続スペースも1つに圧縮
- TrimEnds:先頭と末尾のスペースのみ除去(文字間のスペースはそのまま)
IfやFilterの条件が通らない原因の多くはスペース混入です。詳しい使い方と実例はこちらの記事で解説しています。
文字列置換:ReplaceとSubstitute
文字列の一部を別の文字列に置き換える関数です。
- Replace:開始位置と文字数を指定して置換(固定長コード向け)
- Substitute:置き換えたい文字列を指定して置換(動的データ向け)
迷ったらSubstituteを選ぶのが基本です。Replaceが必要になるのは、データの文字位置が完全に固定されている場合に限ります。詳しくはこちらの記事をご覧ください。
大文字小文字の変換:Upper・Lower・Proper
Power Appsの文字列比較は大文字小文字を区別します。比較前にLowerで統一しておくと、ケース違いによるミスマッチを防げます。
- Upper:すべて大文字に変換
- Lower:すべて小文字に変換(比較・検索前の前処理に使う)
- Proper:先頭だけ大文字、残りを小文字に変換(人名・地名の表示整形向け)
User().Emailとリストのメールアドレスを比較する場面で特に役立ちます。詳しくはこちらの記事で解説しています。
文字列の切り出し:Left・Right・Mid・Find
文字列の特定の部分を取り出す関数です。
- Left:先頭からn文字を取り出す(固定長コードの先頭部分向け)
- Right:末尾からn文字を取り出す(請求番号の末尾桁向け)
- Mid:指定した位置からn文字を取り出す(区切り文字の間の値向け)
- Find:指定した文字列が何文字目にあるかを返す(Midと組み合わせて使う)
文字の位置が固定されているならLeft・Right、位置が変わりうるならMidとFindを組み合わせます。Left・Rightはこちら、MidとFindの組み合わせはこちらの記事で詳しく解説しています。
文字列の分割と要素取り出し:Split・First・Last・Index
カンマやスラッシュで区切られた文字列をテーブルに分割し、特定の要素を取り出す組み合わせです。
- Split:区切り文字で文字列を分割し、テーブルとして返す
- First:テーブルの先頭行を返す
- Last:テーブルの末尾行を返す
- Index:テーブルのn番目の行を返す
「田中, 太郎」という形式の氏名を「太郎 田中」に組み替える、スラッシュ区切りのパスから任意の要素を取り出す、といった場面で使います。Split・First・Lastの使い方はこちら、Indexの使い方はこちらの記事をご覧ください。
文字列の結合:Concat・文字列補間 $"..."
複数の値をまとめて1本の文字列にする方法です。
- Concat:テーブルの各行を結合して1本の文字列にする(コンボボックスの複数選択をメール宛先にするなど)
- 文字列補間 $"...":文字列の中に変数や式を直接埋め込む(可読性が高く、動的なメッセージ組み立てに向く)
単純な2〜3個の固定値の連結には & 演算子で十分ですが、テーブルの内容を結合するときはConcat、変数を埋め込む場面では文字列補間が使いやすいです。Concatはこちら、文字列補間はこちらの記事で解説しています。
文字数カウント:Len
文字列の文字数を返す関数です。単独ではほとんど使わず、Ifによるバリデーション・残り文字数の表示・MidやRightの引数計算などと組み合わせて使います。詳しくはこちらの記事をご覧ください。
テキスト関数を組み合わせる実例
実務では複数のテキスト関数を組み合わせて使います。たとえばSharePointリストに保存されたメールアドレスと、フォームで入力されたメールアドレスを比較する場合、次のように処理します。
Filter(
社員リスト,
Lower(TrimEnds(メール)) = Lower(TrimEnds(TextInput_Email.Text))
)
TrimEndsでスペースを除去してから、Lowerで大文字小文字を統一して比較します。この2ステップを習慣にするだけで、データ不一致の原因のほとんどは解消できます。
FilterやSearchとの組み合わせについてはこちらの記事、Ifとの組み合わせはこちらの記事を参考にしてください。Withを使った数式の整理についてはこちら、変数への格納についてはこちらもあわせてご覧ください。
まとめ:用途別の関数選択ガイド
| やりたいこと | 使う関数 |
|---|---|
| スペースを取り除く | TrimEnds(端のみ)/ Trim(全体) |
| 文字列を置き換える | Substitute(通常)/ Replace(固定位置) |
| 大文字小文字を統一する | Lower(比較前)/ Proper(表示整形) |
| 先頭・末尾を切り出す | Left / Right |
| 中間を動的に切り出す | Mid + Find |
| 区切り文字で分割する | Split + First / Last / Index |
| テーブルを文字列に結合する | Concat |
| 変数を文字列に埋め込む | 文字列補間 $"..." |
| 文字数を調べる | Len(Ifや他の関数と組み合わせて) |
テキスト関数は地味に見えますが、データ整形の精度がアプリの信頼性に直結します。1つずつ手に馴染ませていきましょう。
