【M言語は難しくない】今回は、TEXT関数の中から、2つの事例を紹介したいと思います。通常のエクセル関数と同じ様に、M言語でも文字列を操作する関数は多数あります。興味のある方はぜひ、こちらのMicrosoft社のページも参照してみてください
目次
目次
文字列の有無を判定する関数
Text.Contains関数は、ある文字列の中に指定した文字列があるかとうかを判定し、「TRUE」か「FALSE」で返す関数です
以下の一文は、Microsoft社のページからの抜粋になります
Text.Contains(“Hello World”, “Hello”)
上の ように記述した場合には、「TRUE」を返します
次もMicrosoft社のページからの抜粋になりますが、この場合は「FALSE」を返します
Text.Contains(“Hello World”, “hello”)
ちなみに、
M言語では、大文字と小文字の違いは考慮されますので、この点は注意が必要です
上の画像のデータから、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」と重なってエラーになるケースがあります
こちらのエラーについては、注意が必要です
今回の解説は以上となります
長文を最後まで読んでいただき誠にありがとうございました
Text.Containsの2番目の引数に渡せるのは一つだけでしょうか?
リストとか?
{”A”,”B”,”C”,”D”}みたいな?