2012-03-26 4 views
0

Ich muss den Bereich bestimmen, in dem die Frequency-Funktion angewendet werden soll. Hier ist das Problem. Auf dem gegebenen Blatt habe ich Zwischensummen für meine Daten und es gibt eine Spalte mit "Stop" -Werten. Die Daten würden in etwa so aussehen:Dynamische Bestimmung des Bereichs für die Anwendung der Formel/Funktion in EXCEL

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 

Wie schreibe ich VBA-Code für die unterschiedlichen Stopp-Werte berechnet wird. Ich brauche die eindeutige Zählung der Stopp #. Daher können Sie im obigen Beispiel sehen, dass die Gesamtzahl der Stopps 6 beträgt, da 1 Stopp mehrere Aufträge enthalten kann und 1 Route mehrere Aufträge/Stopps enthalten kann. Ich hoffe, dass ich hier einen Sinn habe. Lassen Sie mich wissen, wie ich meinen VBA-Code dafür schreiben würde. Danke für Ihre Hilfe.

+0

Wird der Datensatz enthalten leere Zellen für einen Wert Ihrer Eingabe? Sind zum Beispiel im obigen Beispiel die Zeilen "Route # Zwischensumme" bereits vorhanden? Auch nehme ich an, dass Route #s einzigartig sind, d. H. Keine zwei Routen teilen den gleichen Namen? Ich frage, denn wenn das so ist, kann der VBA-Code diese Tatsache verwenden, um nach dem geeigneten Bereich zu suchen. – playercharlie

+0

Der Datensatz enthält keine leeren Zellen. Die Daten werden mithilfe der Zwischensummenfunktion im Feld "Route #" gruppiert. Zum Beispiel haben wir nach 10 Zeilen Details für Route1 die "Summe für Route1" und offensichtlich ist die Spalte A für diese bestimmte Zeile leer. Die Routennummern sind jedes Mal einzigartig. – rvphx

Antwort

1

Für die Stop-Teilsumme einzigartige Zählung, versuchen Sie diese Formel (Bereiche nach Bedarf anpassen):

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

Danke für die Formel Lori. Was ich suche ist, wie man diese Formel auf der Zwischensummenebene anwendet. Das Blatt wird viele Datensätze wie oben haben und ich muss die Häufigkeitsformel nur auf diesen Zwischensummenebenen hinzufügen. Ich versuche, einen VBA-Code dafür zu erstellen, da ich dieses Makro nicht ausführen werde. – rvphx

+0

Wenn Sie versuchen, die Adresse des Bereichs zu erhalten, in dem die Formel angewendet werden soll, können Sie dies möglicherweise aus vorhandenen Zwischensummenformeln extrahieren oder auf andere Weise wie folgt: 'range (activecell.End (xlUp), activecell.End (xlUp) .End (xlUp) .Offset (1,0) .Address' und Schleife durch jede Zelle in den Zwischensummen. –

+0

Danke.Will es bald ausprobieren und lassen Sie wissen, wie das geht. – rvphx

Verwandte Themen