【M言語に慣れる】_15回目_TEXT関数/文字列関数

【M言語は難しくない】今回は、TEXT関数の中から、2つの事例を紹介したいと思います。通常のエクセル関数と同じ様に、M言語でも文字列を操作する関数は多数あります。興味のある方はぜひ、こちらのMicrosoft社のページも参照してみてください

目次

文字列の有無を判定する関数

文字列を置き換える関数

<まとめ>

文字列の有無を判定する関数

 Text.Contains関数は、ある文字列の中に指定した文字列があるかとうかを判定し、「TRUE」か「FALSE」で返す関数です

以下の一文は、Microsoft社のページからの抜粋になります

Text.Contains(“Hello World”, “Hello”)

*****Sponsered Link***** ************************

上の ように記述した場合には、「TRUE」を返します

次もMicrosoft社のページからの抜粋になりますが、この場合は「FALSE」を返します

Text.Contains(“Hello World”, “hello”)

ちなみに、

 M言語では、大文字と小文字の違いは考慮されますので、この点は注意が必要です

では、実際にPower Queryエディタ(以降、エディタ)で実際にこの関数を操作してみます

使用するデータは、「抽出」という1列だけがあるこちらのデータになります

 上の画像のデータから、Text.Contains関数で文字列「0」を含む行を判定し、「TRUE」もしくは「FALSE」を返してみます

まず、「列の追加」タブからカスタム列・作成画面を開きます

こちらの画面でカスタム列の式に「Text.Contains」と入力します

上のGIF画像のように「Text.Con・・・」と入力する途中で、該当の関数が出てきますので、Tabキーで確定します

次にText.Contains関数の丸括弧の中を、以下の画像のように確定します

すると、エディタ内に「0」が含まれる行を判定した列が追加されます

文字列を置き換える関数

 Text.Replace関数は、ある文字列の中から、指定した文字列を発見して置き換える関数です

以下の一文は、Microsoft社のページからの抜粋になります


Text.Replace(“the quick brown fox jumps over the lazy dog”, “the”, “a”)

この場合、返される文字列は次のようになります

“a quick brown fox jumps over a lazy dog”

上記の場合、”the”が”a”に置き換えられています

 では、Text.Contains関数と同じデータを使用して、「0」を「a」に置き換えて見ましょう!

 こちらもText.Contains関数と同じ様に、カスタム列作成画面からM関数を使用します

上の図では、カスタム列作成画面に次のような式を入力しています

=Text.Replace([抽出],”0″,”a”)

では、上記の式を入力してカスタム列作成画面のOKボタンを押します

すると、エディタ内に文字列が置き換えられた列が追加されます

<まとめ>

今回は、Text関数の中から2つだけ事例を紹介しました

 1つ目は、文字列が含まれるかどうかを判定する「Text.Contains関数」でした

2つ目は、文字列を置き換える「Text.Replace関数」でした

 もし、通常のメニューにない操作をM関数で行う場合には、前述のMicrosoft社のページをぜひ参照してみてください

 ちなみに、カスタム列作成画面でM関数を入力する際に、自動で候補の関数が表示されます

 該当の関数を選択した場合、Text関数の場合であれば「TextText」と重なってエラーになるケースがあります

こちらのエラーについては、注意が必要です

今回の解説は以上となります

長文を最後まで読んでいただき誠にありがとうございました

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

*****Sponsered Link***** ************************

「【M言語に慣れる】_15回目_TEXT関数/文字列関数」への1件のフィードバック

  1. Text.Containsの2番目の引数に渡せるのは一つだけでしょうか?
    リストとか?
    {”A”,”B”,”C”,”D”}みたいな?

Tsutoshi へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です