Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
128to132
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe!!!

Hilfe!!!
23.06.2002 15:16:37
Jusuf

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
FUNKTION ZÄHLENWENN o.t.
23.06.2002 15:59:43
th.heinrich
.
Re: Hilfe!!!
23.06.2002 16:14:38
Arnim
Hallo Jusuf,
mach's mal so:
in I1 schreibst Du a (für Typ a); in J1: b
in H2 Col-Nr.: 1002, in H3: 7001, H4: 7004 ....usw.
In I2 Array-Formel: =SUMME(($D2:$D100=$H2)*($C2:$C100=I$1))
Eingabe mit Strg/Shift/Enter
Formel nach unten und nach rechts kopieren.
Ist Dir die Array-Formel nicht sympatisch, dann nimm Formel:
=SUMMENPRODUKT(($D2:$D100=$H2)*($C2:$C100=I$1))
normale Eingabe mit Enter.

Gruß Arnim

Matrixformel
23.06.2002 16:22:52
MikeS
Hallo Jusuf,

so müßte es klappen:

Tabelle: Tabelle1

In Zelle B14 steht folgende Array-Formel:

{=SUMME(WENN(($C$2:$C$11="a")*($D$2:$D$11=1002);1))}

In Zelle C14 steht folgende Array-Formel:

{=SUMME(WENN(($C$2:$C$11="b")*($D$2:$D$11=1002);1))}

Die geschweiften äußeren Klammern nicht von Hand eingeben, sondern mit
Strg+Shift(Umschalttaste)+Eingabe die Eingabe der Formel bestätigen.

Hilft Dir das?

Ciao MikeS

Ciao MikeS

Anzeige
Re: Hilfe!!!
23.06.2002 16:30:38
Arnim
Hallo,
war etwas unvollkommen; Zellbezüge mussen zeilenmäßig absolut sein:
=SUMME(($D$2:$D$100=$H2)*($C$2:$C$100=I$1))
oder:
=SUMMENPRODUKT(($D$2:$D$100=$H2)*($C$2:$C$100=I$1))

Sorry!
Arnim

Re: FUNKTION ZÄHLENWENN o.t.
23.06.2002 17:25:29
Heinz Franz Posch
Kommt auch immer darauf wie man diese Daten ausgeben will und welche Vorraussetzungen herrschen. Gibt's nur a und b? Brauchst Du alle Ergebnisse auf einmal oder nur auf Knopfdruck eines dieser Ergebnisse?

Wenn Du das so haben willst wie unten angezeigt und zwar variabel, dann würde ich an Deiner Stelle ein Makro bemühen das alle "Begriffe" unterhalb nur einmal wiedergibt und auf dem Weg zwischen a b usw. unterscheidet - da muss man dann natürlich etwas VBA können. Ich tät jetzt z.B. das so machen, dass ich bei Klick auf so einen Col-D Wert in einer MessageBox den gefragten Wert sehen könnte.

Wenn's darauf nicht ankommt, würde ich jetzt (sauviele Wege führen nach Rom) die Filterfunktion verwenden und zwar in folgender Weise:

Unter die Tabelle irgendwo:

=TEILERGEBNIS(2;D2:D50) (Wenns bei Zeile 2 anfängt und bei 50 aufhört....)

und dann filtern* nach col-D und nach Typ.

Mit dieser Methode sind dann vielleicht auch noch andere interessante ad-hoc-Analysen drin.

* Ich weiß nicht ob Du's weißt, wenn ja ignoriers:

Zeile mit den Spaltentiteln markieren - Menü Daten - Filter - Autofilter dann zum Auswählen auf die Dropdowns und die entsprechenden Einträge klicken.

Gruß Heinz



Anzeige
Re: FUNKTION ZÄHLENWENN o.t.
23.06.2002 20:48:33
Jusuf
Sorry an euch alle!

Wie Ihr sieht habe ich problemm nicht richtig beschrieben. Mein Fehler.
Noch ein Versuch:

Meine Ausgangstabelle ist sehr, sehr lang (mehrere Tausend Zeilen)
Ich möchte die Einträge aus Ausgangstabelle aus Spalten D, E, F, G
unter Bezug auf Typ in Spalte C in eine andere Tabelle,
beginnend in A10 so hinbekommen wie unten gezeigt:
Col-D Typ a Typ b, Col-E Typ a Typ b, Col-F Typ a Typ b, Col-G Typ a Typ b
(nur eine Spalte dargestellt - Spalte D)


Das soll natürlich mit VBA gelöst werden. Weil ich noch nicht soweit bin, VBA beginner, bitte ich um Euere Hilfe.

Noch einmall, vielen Dank für Ratschläge.

Bis bald Jusuf

Anzeige
Beispiel
24.06.2002 13:52:13
Heinz Franz Posch
Hallo Jusuf!

Ich bin auch Anfänger, darum ist das Teil langsam, kompliziert usw. aber es funktioniert.

Anbei jeweils Anweisungen zum Erweitern des Programmes für weitere Spalten.

Sub zaehlen()
Dim zaehler1 As Integer
Dim zaehler2 As Integer
Dim merker As String
Dim spalte As Integer

'von hier weg kopieren/anfügen für die Ausgabe zusätzlich gewünschter (3er) Spalten (col-?, typ a, typ b)

spalte = 1 'nach Kopieren/Anfügen ändern in 4, 7, 10
zaehler2 = 11

Tabelle1.Range("d2:d65000").Copy 'genügend großen Bereich kopieren; hier nach Kopieren das d ändern in e, f und g
Tabelle2.Range("a11").PasteSpecial 'einfügen unter Zelle A10; hier nach Kopieren das a ändern in d, g und j
Tabelle2.Range("a11:a65100").SortSpecial 'Sortieren; hier nach Kopieren das a ändern in d, g und j


Do Until Tabelle2.Cells(zaehler2, spalte) = "  " Or Tabelle2.Cells(zaehler2, spalte) = "" 'erstes blödes Leerzeichen finden
zaehler2 = zaehler2 + 1 'damit nicht immer alles durchlaufen werden muss
Loop
Tabelle2.Cells(zaehler2, spalte) = "" ' am Ende Zellinhalt löschen für späteres Auffinden des Endes

zaehler2 = 11
merker = Tabelle2.Cells(zaehler2, spalte)

Do Until Tabelle2.Cells(zaehler2, spalte) = "" 'Doppelte Werte rauslöschen
If Tabelle2.Cells(zaehler2 + 1, spalte) = Tabelle2.Cells(zaehler2, spalte) Then
Tabelle2.Cells(zaehler2 + 1, spalte).Delete Shift:=xlUp
zaehler2 = 10
End If
zaehler2 = zaehler2 + 1
Loop

zaehler1 = 2
zaehler2 = 11

Do Until Tabelle2.Cells(zaehler2, spalte) = "" 'beide Tabellen durchlaufen, vergleichen a und b finden/addieren.
Tabelle2.Cells(zaehler2, spalte + 1).Value = 0
Tabelle2.Cells(zaehler2, spalte + 2).Value = 0
Do Until Tabelle1.Cells(zaehler1, 1) = ""
If Tabelle1.Cells(zaehler1, 4) = Tabelle2.Cells(zaehler2, spalte) Then 'hier nach Kopieren/Anfügen den 4er auf 5, 6 bzw. 7 ändern
If Tabelle1.Cells(zaehler1, 3) = "a" Then
Tabelle2.Cells(zaehler2, spalte + 1).Value = Tabelle2.Cells(zaehler2, spalte + 1).Value + 1
ElseIf Tabelle1.Cells(zaehler1, spalte + 2) = "b" Then
Tabelle2.Cells(zaehler2, 3).Value = Tabelle2.Cells(zaehler2, spalte + 2).Value + 1
End If
End If
zaehler1 = zaehler1 + 1
Loop
zaehler2 = zaehler2 + 1
zaehler1 = 2
Loop

'bis hier her kopieren und anfügen sowie ändern wie angezeigt

End Sub

Das löst hoffentlich Dein Problem oder war zumindest Anstoß für Deine eigene Lösung.

Gruß, Heinz

Anzeige
Re: Beispiel
25.06.2002 22:09:20
Jusuf
Hallo Heinz Franz,

ich entschuldige mich, das ich mich erst jetzt hier melde. Dein Beispiel habe ich runtergeladen und bearbeitete es gerade. Es scheint mir sehr kompliziert zu sein. Das gleiche Problem habe ich auf meine Art gelöst (mit vielen Makros). Mit bitte um Hilfe, habe ich erhofft das ganze mit einem Makro zu lösen. Mit deiner Lösung brauche ich mindestens auch vier Makros. Aber trotzdem vielen Dank für deine Hilfe.
Ich werde versuchen, deine Lösung zu verstehen.

MfG Jusuf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige