LoginSignup
18
16

More than 3 years have passed since last update.

Power AutomateにLeft, Right, Mid はないので全部 substring

Posted at

タイトルの通りですが、Power Appsから使い始めてPower Automateに進むと割と躓くポイントです。 (N番煎じ)

Power Appsの場合

Excelにも用意されていて、Power Appsで文字列を操作するときによく使う、Left, Right, Mid関数 ですが、
まず前提として文字列の1文字目は1番目です。

これを意識するのは特にMid関数を利用する場合です。

Mid("あいうえお", 2, 3)

このように書いた場合、返ってくる結果は いうえです。Mid関数の2つ目の入力が何文字目からスタートするかを表していて、上の例ではあいうえおの2番目は Power Appsではです。
2文字目のからスタートして3文字を要求しているので、結果がいうえになります。

Left, Right, Midの利用例は下図をご覧下さい。
image.png

繰り返しですが、Power Appsでは・・・

  1. Left, Right, Mid関数が用意されている
  2. 文字の順番は1番から始まる

という点が重要です。

もちろん、Left, Right は Mid関数を使って以下のように書き直せる点も覚えておくと便利です。

Left(BaseText, 3) ==> Mid(BaseText, 1, 3)

Right(BaseText, 3) ==> Mid(BaseText, 1+Len(BaseText)-3, 3)

右側の Mid関数に入っている1は、いずれも文字数の数え方が1からであることを反映しています。

Power Automate の場合

Power AutomateにはLeft, Right, Mid関数はありませんが、かわりに substring関数 が用意されています。

Power Appsの場合と大きく異なるのは、前提が文字列の1文字目は0番目と数えること です。

image.png

このことに由来して、関数の中の数字も変更をうけます。
例えば Left関数をPower Automateで書き直すとすると、substringを使って以下のように書けます。

Left(BaseText, 3) ==> substring(BaseText, 0, 3)

Right(BaseText, 3) ==> substring(BaseText, sub(length(BaseText),3), 3)

Right関数の書き換えで出てくるsub(length(BaseText),3)ですがこれはちょうどLen(BaseText)-3と同じ操作です。
( Power Automateでは四則演算も関数なので少し長くなる )

このように、Power Apps で使われる文字列操作関数と Power Automate で使われる文字列操作関数は

  1. そもそも使う関数が異なる (Power Appsでいえば全部Mid関数で書くイメージ)
  2. 文字列の数え方は・・・Power Apps : 1 , Power Automate : 0 からスタート

という大きく2つの違いに注意する必要があります。

おわり

Power Appsが最近よく使われるようになってきて、そこからPower Automateを使い始める人も少なくないのではと思います。
2つのサービスは非常に親和性が高いのですが、今回紹介したような注意点 - 主には順番の数えかたに由来 - もありますので、うまく頭を切り替えながら活用していきましょう!

Power Appsは1始まり、Power Automateは0始まり!

18
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
16