Power Appsで先頭・末尾から固定文字数を取り出す|LeftとRightの使い方

請求番号の末尾4桁、郵便番号の前3桁など、文字の位置が固定されているデータを切り出すときはLeftとRightが最もシンプルな選択肢です。引数が少なく、数式を短く書けるのが利点です。

Left:先頭からn文字を取り出す

Left関数は文字列の先頭から指定した文字数を返します。引数は2つです。

Left(テキスト, 文字数)

Left("ABCDE", 3)
// 結果:ABC

たとえばカテゴリコードが先頭2文字で固定されているコードから、カテゴリ部分だけを取り出すときに使います。

Left("TK2024001", 2)
// 結果:TK

Right:末尾からn文字を取り出す

Right関数は文字列の末尾から指定した文字数を返します。構造はLeftと同じです。

Right(テキスト, 文字数)

Right("請求書-2024-0042", 4)
// 結果:0042

請求番号の末尾4桁を取り出して管理番号として使う、といった場面がよくあります。Left・Rightは固定長のデータに強く、ハードコードでも壊れにくいのが特長です。

実例3パターン

カテゴリコードで絞り込む

商品コードの先頭2文字がカテゴリを表す場合、Leftで取り出した値でFilterをかけられます。

Filter(
    商品リスト,
    Left(商品コード, 2) = "TK"
)

FilterやLookUpの詳しい使い方はこちらの記事をご覧ください。

入力値のバリデーションに使う

郵便番号入力フォームで、先頭3文字が数字かどうかを確認するバリデーションです。LenとLeftを組み合わせて桁数チェックも同時に行えます。

If(
    Len(TextInput_PostalCode.Text) >= 3 &&
    IsNumeric(Left(TextInput_PostalCode.Text, 3)),
    "OK",
    "先頭3桁は数字を入力してください"
)

Ifの使い方はPower AppsのIfとSwitchでまとめています。

Patchで保存する前にコードを整形する

入力されたコードの先頭2文字を部署コードとして別の列に保存する場面です。Patchと組み合わせてSharePointリストに書き込めます。

Patch(
    申請リスト,
    Defaults(申請リスト),
    {
        申請番号: TextInput_AppNo.Text,
        部署コード: Left(TextInput_AppNo.Text, 2),
        連番: Right(TextInput_AppNo.Text, 4)
    }
)

Patchの使い方についてはPatch関数の使い方で解説しています。SharePointリストの操作についてはSharePointリストのCRUDパターンもあわせてご覧ください。

MidやFindとの使い分け

Left・Rightは文字の位置が固定されているときに使います。位置が変わりうる場合や、区切り文字を基準に切り出す場合はMidとFindを使います。

関数向いているケース位置の指定方法
Left先頭からn文字が固定されているコード文字数をハードコード
Right末尾からn文字が固定されているコード文字数をハードコード
Mid+Find区切り文字の間にある可変長の文字列Findで位置を動的取得

Mid・Findの組み合わせについてはこちらの記事をごらんください。

まとめ

Left・Rightはシンプルさが最大の強みです。固定長のコードや番号を扱うときは迷わずLeft・Rightを選んでください。数式が短く、読みやすいアプリになります。

文字数が変わる可能性があるデータや、文字列全体の長さに応じて切り出し範囲を変えたい場合は、Len関数と組み合わせることで対応できます。Lenの使い方はこちらの記事をご覧ください。

Power Appsのその他のテキスト関数についての完全ガイドはこちらの記事をご覧ください

地味な関数ですが、データ整形の現場では頻繁に使います。ぜひ手に馴染ませてみてください。

Xでフォローしよう