|
こんちゃ(^o^)ノ
>>ユーザー定義関数って、ほとんど全く作った事ありません。
>みんなあまり作らないのかな?
バリバリでっせ♪
>色々情報集まるかな?ってちょっと期待したんやけど・・・
関数記述セルの数自体が多いから、数自体の問題か、Splitの問題かって
考えてたんだけど‥‥‥
どう手を入れてもボトルネック解消にはならないかな〜と思ってたのね。
それで、関数2個によるコンビネーションじゃ駄目?
関数1
列方向(↓)のセル範囲全体を引数で指定して、その範囲のセル内容を
全て連結した文字列を返す。
Join関数が使えるかと思ったけど、セル範囲/セル範囲をVariant配列
に入れたもの、どっちでもエラーになるから、自分でループしつつ
カンマを間に挿入しながら文字列を繋げる。
関数2
今の関数セルに記述するもの
「関数1」が作った文字列を引数で受け取り、その文字列をSplit関数で
配列に分解。
その配列をFilter関数で「チェック文字」で抽出して、新たな配列を作る。
その配列の要素数が答え(自分でループして数えても良し)。
>あ、集計表ですが、計算対象範囲は、1列430行で、
>計算式を入れる範囲は、16行×48列=768セル です
今のボトルネックは、768セルが各々一斉に毎度毎度430セルを参照
している事(768×430)。
とりあえず、「1列430行」のセルを1セルに集約しておけば、
768セルにある関数が参照するセルも1セルだけなので総計で768で済む。
というのは‥‥‥どう?
|
|