Excel (Makro) -> Zählen wenn 2 Bedingungen erfüllt sind?

2 Antworten

Du könntest - wenn ich Dich richtig verstanden habe - die

  • Daten der Spalte O komplett in die Spalte Z kopieren
  • Daten - Duplikate entfernen (ggf. sortieren)
  • Zählennwenn(s) für die 1 / 0 nutzen

um Deine Informationen zu erhalten.

Dafür kannst Du ein Makro anlegen.

Mir scheint es nicht notwendig, das mit VBA lösen zu müssen, aber zunächst:

Im CountIfs verwendest du Z6, aber die Variable hast du nirgendwo definiert.
Tipp: Arbeite mit Option Explicit als erste Zeile im Modul. Dann würde das auffallen.

TobiasWagner323 
Fragesteller
 12.01.2024, 08:50

Danke für deine Antwort. Z6 soll die Zelle sein wo das Produkt drin steht

0
Suboptimierer  12.01.2024, 09:00
@TobiasWagner323

Probier es mal mit CountIfs..."=Z6"...

Wenn du das für mehrere Produkte machen willst, wirst du sowieso in irgendeiner Form mit Schleifen arbeiten müssen.

Du solltest dir eine Produktübersicht machen, in der jedes Produkt genau einmal aufgelistet wird. Dann kannst du dir anhand der Produktnummer / -bezeichnung die Werte (Anzahl und Summen) aus dem Datenblatt ziehen.

So würde ich es auch in VBA lösen.

Eine Schleife, die alle Produkte einer neuen Liste hinzufügt, wenn sie noch nicht enthalten sind.

Danach eine Schleife, die die Werte zu jedes dieser Produkte ermittelt und in die Nachbarzellen schreibt. Oder du schreibst in die Nachbarzelle die CountIfs-Formel.

1
Suboptimierer  12.01.2024, 08:53

Die letzte Zeile brauchst du nicht zwingend, weil CountIfs sowieso keinen Match für leere Zellen liefern würde.

Wenn es keine keine Leerzellen innerhalb deiner Tabellenspalte gibt, kannst du die letzte Zelle mit Excel mittels ANZAHL2 + Erste Zeile bestimmen und den Bereich zum Beispiel mit INDIREKT konstruieren.

Oder zum Beispiel so:

=MAX(ZEILE(Z:Z)*(Z:Z<>"")) 

Dann könntest du einfach mit ZÄHLENWENN direkt in Excel arbeiten.
(Aber wie gesagt theoretisch auch ohne das Wissen um die letzte Zeile)

Die letzte Zeile nutze ich gerne, um mir Hyperlinks zu generieren, mit denen man ans Ende einer Tabelle springen kann.

0