Power Automate 「indexOf」関数
indexOfはPower Automateの式に使用する関数で、
指定テキストが開始位置を取得します(最も左の一致テキスト)。ExcelのFIND関数に近い機能です。
取得した開始位置は何らかのテキスト編集に利用するか、
指定テキストが存在するか、否かの判定(containsとは挙動が異なります)に利用するのが頻度の高い用途です。
| 関数 | 結果 | 英字の大文字/小文字の区別 |
|---|---|---|
| contains | ブール ・存在するか(True) ・存在しない(False) | 区別する |
| indexOf | 見つかった文字数 | 区別しない |
テキストの位置の検索(テキスト関数)アクションでも同様のことが可能です。
仕様
indexOf('<text>', '<searchText>')
| 引数 | 省略時の値 | 説明 |
|---|---|---|
| text | 省略不可 | 調べるテキスト(長いテキスト) |
| searchText | 省略不可 | 検索する部分テキスト(短いテキスト) |
利用方法
indexOf関数はテキストや数値のパラメーターに使用します。
アクションでは多くの場合、「条件」の中で利用されます。
または種類が「整数」の変数の初期化か設定の際の「値」に利用されます。
(この使い方か、文字列編集の数式に組み込むのがメイン)
「式」タブ、indexOfをクリックすると関数名と()が数式欄にセットされます。
テキストを’囲み,区切りで指定し、OKをクリックします。
動的なコンテンツや変数を利用する場合、,区切りは同じですが、
特殊な指定を行います。(動的なコンテンツを式で取得する方法)
次のような表示になれば設定完了です。
この紫のアイコンをクリックすると関数を変更可能です。
例のように indexOf('abcde','bcd') とすると、
「bcd」が2文字目に存在するため結果は 1 になります(先頭の場合は0)。
大文字・小文字を区別しないため、indexOf('aBcde','bCd') でも結果は同じです。
見つからなかった場合は-1になります。
一致する箇所が複数ある場合は最初に一致する(最も左)の結果を取得します。
この値をそのまま利用することは稀で、何らかのテキスト編集に利用するか、
指定テキストが存在するか否かの判定に利用するのが頻度の高い用途です。
(存在しない場合は常に-1になることを利用)
条件には左から、indexOfの数式か結果変数(開始位置)、「次の値以上」、「0」と設定すると
「はいの場合」が存在する場合、「いいえの場合」が存在しない場合になります。
当サイトの情報を再編集した実務リファレンス
ネット検索では解決しづらい「日付の変換」や「複雑なデータ処理」など、当サイトで公開している技術情報を電子書籍として読みやすく再編集しました。
400以上のコネクタや関数の仕様を網羅的に解説しており、困ったときにすぐ引ける「辞書」として活用いただけます。
現場でのトラブルシューティングや、手元での確認用に最適です。Kindle Unlimited対象(読み放題)です。
[書籍リンク:Power Automate (Web版)完全版 基本から実用まで]
関連記事
活用例
「ファイルが作成されたとき(OneDrive For Business)」トリガー
動的なコンテンツの編集に利用。
「ファイルが変更されたとき(OneDrive For Business)」トリガー
動的なコンテンツの編集に利用。