← 手順一覧へ戻る
Power Automate Desktop文字・日付初心者向け

検索した文字の位置を取得する(先頭0・未発見−1)

PADの「テキストの解析」で検索語の位置を取得します。先頭一致は0、見つからない場合は−1。固定文字列で3ケースを比較し、位置0を見落とさない条件分岐を作ります。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • これは位置が必要な場合の練習です。含まれるかだけを知りたい場合は、関連する「文字列が含まれているか確認する」のIf例で対応できます。
  • 開始位置0・先頭一致0・未発見−1を区別します。0は失敗や件数ゼロではありません。Positionは一致件数ではなく、元のテキスト内の位置です。
  • 大文字小文字を区別しない=オフなので、abcはABCと同じ検索語として扱いません。空の検索語、null、未設定変数、絵文字や結合文字はこの練習の対象外です。
  • 最初の1件だけの文字検索であり、文章の意味や否定表現は判定しません。番号形式の検証にもなりません。
  • ローカルの有人実行と画面表示だけです。クラウドからの実行や無人実行は別の利用条件があります。実際のPower Automateフローは未実行です。

1使うアクション

  1. アクション 1変数の設定SourceText=ABC-123
  2. アクション 2テキストの解析ABCを最初の1件だけ検索 → Position
  3. アクション 3IfPositionが0以上か
  4. アクション 4メッセージを表示はい:見つかった位置を表示
  5. アクション 5Else見つからない場合(−1)
  6. アクション 6メッセージを表示いいえ:見つかりませんと表示
  7. アクション 7End分岐を閉じて終了

図で見る処理のイメージ

概念図

検索語ABCが先頭にある場合も見つかった扱いにします。入力→位置の数値→条件分岐の順で確認します。

  1. 入力

    SourceText=ABC-123 / 検索語=ABC

  2. 検索位置

    Position=0(最初の文字)

  3. 判定と表示

    0以上なので「見つかった位置:0」

結果の例

Positionが0以上なら位置を表示し、−1なら「見つかりません」と表示します。

先頭・途中・未発見の3ケース(期待値)
SourceTextPosition表示する内容
ABC-1230見つかった位置:0
XX-ABC3見つかった位置:3
XYZ-123−1見つかりません

半角文字列による期待例です。図表は実際のフローを実行して確認した結果ではありません。PAD実機未実行です。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する8ステップの設定と確認方法
  1. 1

    準備:WindowsのPower Automate for desktopで、Power Fxをオフにした手動練習フローを作ります。標準の %変数名% 記法を使います。固定文字列だけを使い、ファイル・PDF・Excel・外部接続は不要です。組織の利用ルールとライセンスを確認してください。

  2. 2

    「変数の設定」で変数名=SourceText、値=ABC-123 にします。引用符は入力しません。検索語は半角大文字の ABC に固定します。

  3. 3

    「テキストの解析」(Parse text)を追加します。解析するテキスト=%SourceText%、検索するテキスト=ABC、正規表現である=オフ、解析の開始位置=0、最初の出現のみ=オン、大文字小文字を区別しない=オフ。生成される位置の数値変数名をPositionにします。画面の翻訳表記が異なる場合は公式資料の英語名も確認します。

  4. 4

    次の「If」で第1オペランド=%Position%、演算子=以上(>=)、第2オペランド=数値の0にします。先頭の位置は0なので、「より大きい(>)0」では先頭一致を見落とします。

  5. 5

    Ifの内側に「メッセージを表示」を置き、本文=「見つかった位置:%Position%」、ボタン=OK、自動的に閉じる=オフ、出力変数=FoundButtonにします。Elseの内側にも「メッセージを表示」を置き、本文=「見つかりません」、同じボタン設定、出力変数=NotFoundButtonにします。Endで閉じて終了します。

  6. 6

    SourceTextだけを ABC-123、XX-ABC、XYZ-123 に差し替え、毎回先頭から実行します。期待するPositionは順に0、3、-1です。XX-ABCのAは4文字目ですが、0から数える位置は3になります。元のSourceTextは変更しません。

  7. 7

    この例では最初の出現のみ=オンを保ち、単一の数値PositionをIfで判定します。オフにして複数位置のリストPositionsを返す設定は別の処理になるので、そのまま数値比較へつなげないでください。

  8. 8

    エラー時は既定のフロー停止を保ちます。解析アクション自体が失敗した場合を「見つからない」として続けず、入力変数と設定を確認します。成功した解析で返る−1と、アクションの実行エラーを区別します。

Microsoft公式ページで確認する

設定を確認できる公式資料