検索した文字の位置を取得する(先頭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変数の設定SourceText=ABC-123
- アクション 2テキストの解析ABCを最初の1件だけ検索 → Position
- アクション 3IfPositionが0以上か
- アクション 4メッセージを表示はい:見つかった位置を表示
- アクション 5Else見つからない場合(−1)
- アクション 6メッセージを表示いいえ:見つかりませんと表示
- アクション 7End分岐を閉じて終了
図で見る処理のイメージ
概念図検索語ABCが先頭にある場合も見つかった扱いにします。入力→位置の数値→条件分岐の順で確認します。
入力
SourceText=ABC-123 / 検索語=ABC
検索位置
Position=0(最初の文字)
判定と表示
0以上なので「見つかった位置:0」
Positionが0以上なら位置を表示し、−1なら「見つかりません」と表示します。
| SourceText | Position | 表示する内容 |
|---|---|---|
| ABC-123 | 0 | 見つかった位置:0 |
| XX-ABC | 3 | 見つかった位置:3 |
| XYZ-123 | −1 | 見つかりません |
半角文字列による期待例です。図表は実際のフローを実行して確認した結果ではありません。PAD実機未実行です。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する8ステップの設定と確認方法
- 1
準備:WindowsのPower Automate for desktopで、Power Fxをオフにした手動練習フローを作ります。標準の %変数名% 記法を使います。固定文字列だけを使い、ファイル・PDF・Excel・外部接続は不要です。組織の利用ルールとライセンスを確認してください。
- 2
「変数の設定」で変数名=SourceText、値=ABC-123 にします。引用符は入力しません。検索語は半角大文字の ABC に固定します。
- 3
「テキストの解析」(Parse text)を追加します。解析するテキスト=%SourceText%、検索するテキスト=ABC、正規表現である=オフ、解析の開始位置=0、最初の出現のみ=オン、大文字小文字を区別しない=オフ。生成される位置の数値変数名をPositionにします。画面の翻訳表記が異なる場合は公式資料の英語名も確認します。
- 4
次の「If」で第1オペランド=%Position%、演算子=以上(>=)、第2オペランド=数値の0にします。先頭の位置は0なので、「より大きい(>)0」では先頭一致を見落とします。
- 5
Ifの内側に「メッセージを表示」を置き、本文=「見つかった位置:%Position%」、ボタン=OK、自動的に閉じる=オフ、出力変数=FoundButtonにします。Elseの内側にも「メッセージを表示」を置き、本文=「見つかりません」、同じボタン設定、出力変数=NotFoundButtonにします。Endで閉じて終了します。
- 6
SourceTextだけを ABC-123、XX-ABC、XYZ-123 に差し替え、毎回先頭から実行します。期待するPositionは順に0、3、-1です。XX-ABCのAは4文字目ですが、0から数える位置は3になります。元のSourceTextは変更しません。
- 7
この例では最初の出現のみ=オンを保ち、単一の数値PositionをIfで判定します。オフにして複数位置のリストPositionsを返す設定は別の処理になるので、そのまま数値比較へつなげないでください。
- 8
エラー時は既定のフロー停止を保ちます。解析アクション自体が失敗した場合を「見つからない」として続けず、入力変数と設定を確認します。成功した解析で返る−1と、アクションの実行エラーを区別します。
- 対象環境
- Power Automate for desktop(標準の変数記法)
- 更新日
- 2026年10月18日