Help us understand the problem. What is going on with this article?

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

タイトルの通りですが、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始まり!

h-nagao
Power Platform好きです。 #MoreBeerMorePower 新しい投稿は、はてなブログのほうにしています。
https://mofumofupower.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした