- 関数を覚えられない
- 文字を加工するのが難しい
この記事では、そんな方に「例を使用してデータを書式設定する」の使い方を紹介します。
この機能は2022年10月にリリースされました。
「例を使用してデータを書式設定する」の使い方
式を選ぶと「例を使用してデータを書式設定する」が出てくるので選択。
加工したい元データを選びます。
今回は作成の「出力」にしますが、後から変更できるので適当に選んでもOK。
「例を入力」欄が出てくるので、ありそうな文字とそこから抽出したい結果を入力します。
メールから名前部分を抽出したい場合はこんな感じ
- お疲れ様です。井上です。 →井上
- いつもお世話になっております。○○の井上です。 →井上
- お疲れ様です。五十嵐です。 →五十嵐
- いつもお世話になっております。○○の五十嵐です。→五十嵐
自動で式が出てきます。(これはすごい)
例で使っていなかった石田でテストしてみます。
名前の石田だけが抽出されました。
式に問題なければ1番下にある「適用」をクリック。
式が反映されました。
【例1】yyyy/MM/dd→○月○日
日付の変換は頻繁に出てくるので手間ですが自動生成すれば一瞬です。
例えばこんな変換をしたいとします。
yyyy/MM/dd → ○月○日
例にこれを入れると
2022/01/01 → 1月1日
こんな式ができます。
concat(formatDateTime(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'), 'MMMM', 'ja-JP'), formatDateTime(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'), '%d', 'ja-JP'), formatDateTime(addDays(concat(formatDateTime(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'), 'yyyy', 'en-US'), '-', formatDateTime(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'), 'MM', 'en-US'), '-', formatDateTime(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'), 'dd', 'en-US')), sub(1, add(1, dayOfWeek(parseDateTime(triggerBody()['key-button-date'], 'ja-JP', 'yyyy/MM/dd'))))), 'ddd', 'ja-JP'))
テストすると思い通りの形式になりました。
2022/05/05 → 5月5日
【例2】080xxxxxxxx→080-xxxx-xxxx
分かっていれば式はすぐ書けるかもしれませんが、手で書くと間違える可能性もあります。
例えばこんな変換をしたいとします。
080xxxxxxxx → 080-xxxx-xxxx
例にこれを入れると
08012345678 → 080-1234-5678
09087654321 → 090-8765-4321
こんな式ができます。
concat(slice(outputs('作成'), 0, 3), '-', slice(outputs('作成'), 3, -4), '-', slice(outputs('作成'), -4))
テストすると思い通りの形式になりました。
09033334444 → 090-3333-4444
例を2〜3個書くと良い式になるのでオススメです。
【例3】”○○○”→○○○
例えばこんな変換をしたいとします。
“○○○” → ○○○
例にこれを入れると
“a” → a
“123” → 123
こんな式ができます。
split(outputs('作成_2'), '"')[1]
テストすると思い通りの形式になりました。
“自動化” → 自動化
【例(失敗)】式を生成できません。
苗字と名前の間を半角スペースで統一したいしたいとします。
苗字名前 → 苗字 名前
例にこれを入れると
井上太郎 → 井上 太郎
井上 太郎 → 井上 太郎
五十嵐学 → 五十嵐 学
五十嵐 学 → 五十嵐 学
「式を生成できません。」と表示されました。
原因は例に一貫性がないからです。
井上太郎は4文字を2と2に分けています。
五十嵐学は4文字を3と1に分けています。
今回の場合は同じ4文字の分け方が2パターンあります。
人の目で見れば「五十嵐」は3文字の名字だとわかりますが、コンピュータはそこまで理解できないみたいです。
【制限】1つのテキスト/数値/日付のみ使える。(配列は×)
公式にも記載がありますが、この式自動生成は配列では使えません。
Format data by examples can format one text, number, or date at a time. More complex structures like arrays aren’t supported.
例によるデータの書式設定では、一度に 1 つのテキスト、数値、または日付を書式設定できます。配列などのより複雑な構造はサポートされていません。
https://learn.microsoft.com/ja-jp/power-automate/format-data-by-examples
【Microsoft公式の解説ページ】https://learn.microsoft.com/ja-jp/power-automate/format-data-by-examples
まとめ
PowerAutomateで「例を使用してデータを書式設定する」の使い方を紹介しました。
ありそうな値と取り出したい値を入力するだけで式が自動生成されます。式は長くて読みにくいですが式を書く時間が短縮されるので活用していきましょう。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス