2012-03-26 6 views
0

周波数関数を適用する範囲を決定する必要があります。ここに問題点があります。指定されたシートには、私のデータの小計があり、 "停止"値を持つ列があります。 データは次のようになります:私は明確なストップ値を計算するためのVBAコードを書くにはどうすればよいダイナミックレンジを決定してエクセルで式/関数を適用する

Route1 
Order#       Stop# Qty 
001016       1  5 
008912       1  5 
062232       2  6 
062232       3  2 
069930       4  1 
1000        4  3 
1001        4  4 
1001        5  8 
1003        8  1 

Route 1 Subtotal     6  35 

Route2 
Order#       Stop# Qty 
10065        1  5 
10076        1  5 
10077        2  6 
10079        3  2 
10087        4  1 
10098        4  3 
10109        4  4 
10171        5  8 
10175        8  1 
Route 2 Subtotal     6  35 

。私は停止#の明確なカウントが必要です。したがって、上記の例では、1ストップは複数のオーダーを、1つのルートは複数のオーダー/ストップを持つことができるため、合計ストップは6です。私はここで理にかなっていると思います。私はこのために私のVBAコードを書く方法を教えてください。ご協力いただきありがとうございます。ストップ小計ユニークな数については

+0

データセットは、小計を入力するための空のセルが含まれているのでしょうか?たとえば、上記の例では、「Route#Subtotal」行はすでに存在していますか?また、Route#は一意であると想定しています。つまり、2つのルートが同じ名前を共有していませんか?私はこれがそうであれば、vbaコードがこの事実を使って適切な範囲を探すことができるからです。 – playercharlie

+0

データセットには空のセルはありません。データは、Route#フィールドの小計機能を使用してグループ化されます。たとえば、Route1の10行の詳細の後に、「Route1の合計」があります。明らかに、この特定の行の列Aは空白になります。ルート番号は毎回ユニークになります。 – rvphx

答えて

1

、(必要に応じて範囲を調整する)この式を試してみてください。

=COUNT(1/FREQUENCY(B2:B10,B2:B10)) 
+0

ロリの式をありがとう。私が探しているのは、小計レベルでこの式を適用する方法です。シートには上記のような多くのデータセットがあり、これらの小計レベルでのみ頻度式を追加する必要があります。私はこのマクロを実行しないので、これを行うためのVBAコードをまとめようとしています。 – rvphx

+0

数式を適用する範囲のアドレスを取得しようとしている場合は、既存の小計式などからこの値を抽出することができます: 'range(activecell.End(xlUp)、activecell.End(xlUp ).End(xlUp).Offset(1,0).Address'そして小計内の各セルをループしてください –

+0

ありがとうございます。 – rvphx

関連する問題