こんにちは zuzuです。
唐突ですが、みなさんはPatternCount関数使ってますか?
自分はよく使用していますが、 PatternCount で数字をカウントしたときに、「1」だけを取得したいはずが「1¶10¶11」となっていると結果が「4」と計算されてしまってました。原因を探ると他の「1」もカウントされているのに気づきました。
このままでは使用できなかったので、他に方法がないか探しました。
そして見つけた方法が下記に記述している2つになります。
では早速、1つ目。
FilterValues 関数を使用した方法
その当時は関数を全然覚えてなかったので先輩たちがよく使用している関数しか知りませんでした。ただ、どこかで見たFilter関数があったのを思い出しFilter関数を調べるとFilterValues関数があるのを知りました。それと組み合わせて、ValueCount関数を使用すると「1」だけを取得することができました。
ValueCount( FilterValues( 数字リスト ; 1 )))
の形で取得できました。
ちなみに、自分は選択済みのマスタを色付けしたい時などに使用します。
ValueCount( FilterValues( List(固有シリアル値) ; 固有シリアル値 ))) =1(or ≧1)
を条件付き書式に設定し、選択済みの行がグレーになるようにしています。
List(固有シリアル値) の部分は、集計フィールドの一覧で代替しても使えます。
改行&数字&改行の形で取得する方法
PatternCount関数を使用したままどうにかできないか試した結果うまくいった方法がありました。
それが 改行&数字&改行 の形で取得しそれを PatternCount関数で使用する方法です。
PatternCount( List( ¶&数字&¶ ); ¶&数字&¶ )
特殊な形ですが、 PatternCount関数をそのまま使用した方法で改行を数字の前後に加えることで「¶1¶」の形で1をユニークな値にできました。よくよく考えたらわかったことですが 数字&改行 や 改行&数字 も試してみましたが結果はもちろんダメでした。
最後に
「ValueCount関数とFilterValues関数」と「改行&数字&改行」の方法をご紹介しました。他にも方法はあるかもしれませんが、自分が確認した方法がこちらの2つです。
「ValueCount関数とFilterValues関数」 の方法しか使わないかもしれませんが。。。
せっかくなので、「改行&数字&改行」も状況によっては使えるかもしれないので、ぜひお試しください。
今回はこのへんで。