2 返信 最新の回答 日時: Jul 31, 2014 10:16 PM ユーザー:yamashiro.official

    数字部分をセパレート

    yamashiro.official

      タイトル

      数字部分をセパレート

      フォーラムに投稿

           数字や漢字・英字・記号が混在するフィールドがあります。

           その中の数字部分で4桁以上の場合、カンマでセパレートしたいのですがお力お願いいたします。

           例:(1145g・5食)→(1,145g・5食)

           補足:数字は全角なのですが出来れば維持させたいです。

        • 1. Re: 数字部分をセパレート
          hiro_

               結果は入力数字の角数を維持するものとして、

               Let([
                $txt=混在フィールド;
                $n=WordCount($txt);
                $r=$txt;
                $f="Case(
                  $n=0; $r;
                  Let([
                   $w=MiddleWords($txt;$n;1);
                   $IsZen=(Filter($w;RomanZenkaku($w))<>\"\");
                   $w0=NumToJText($w;0;$IsZen);
                   $w1=NumToJText($w;1;$IsZen);
                   $r=Substitute($r;$w0;$w1);
                   $n=$n-1
                  ]; Evaluate($f))
                 )"
               ];
                Evaluate($f)
               )

                

               結果を常に全角数字で返す場合は、上式を修正
                $w1=NumToJText($w;1;$IsZen); → $w1=NumToJText($w;1;1);

          • 2. Re: 数字部分をセパレート
            yamashiro.official

                 ありがとうございます!

                 理想的な結果になりまして大変助かりました!

                 入力元のデータが全角数字が大半だったので全角で出力と要件しましたが

                 アンサーしていただいた結果(前者)の方が入力元のオリジナリティが保てるので良かったです。

                 逆にオリジナリティを無視して全角に揃えたい場合は後者の方を利用させていただきたいと思います。