Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Unikate aus Liste extrahieren

In diesem Beispiel liegt eine Liste vor, die einen Eintrag jeweils mehrfach enthält. Ziel ist nun, aus der Liste jeden der mehrfach vorkommenden Werte jeweils nur ein einziges mal auszulesen und in einer separaten Tabelle darzustellen. Die Lösung ist formelbasiert und funktioniert ohne VBA.

Die folgend Abbildung zeigt die Ausgangstabelle:

Ziel ist nun, aus der Spalte "Ort" jeden Ortsnamen ein einziges mal in einer separaten Tabelle auszulesen.

Die Lösung finden Sie in der Beispieldatei, welche Sie am Ende der Lösung herunterladen können.

Lösungsweg

Das Arbeitsblatt Demonstration zeigt den Lösungsweg. Es werden einige Hilfsspalten für Nebenrechnungen benötigt (Spalten A, B, C und D). In Zelle A2 wird die Zeilenanzahl der Ursprungstabelle mit der Formel 65536-COUNTBLANK(Ausgangssituation!C:C)-1 ermittelt. (Hinweis: Der Wert 65536 ist für Excel 2003, nicht für Excel 2007 zutreffend.)

In Spalte C wird in der obersten Zelle zunächst als Startwert die Zeilennummer der ersten Tabellenzeile eingetragen. In den folgenden Zeilen sollen die Positionen der folgenden Unikate in der Ursprungstabelle ermittelt werden. Für Duplikate wird die Position 0 vergeben.
Die Formel in B3 lautet
WENN(UND(NICHT(ISTLEER(Ausgangssituation!C3)),Ausgangssituation!C3<>"",
ISTNV(VERGLEICH(Ausgangssituation!C3,BEREICH.VERSCHIEBEN(Ausgangssituation!$C$2,0,0,
ZEILE(Ausgangssituation!C3)-$B$2,1),0))),ZEILE(Ausgangssituation!C3),0)
.

Diese Formel untersucht, ob drei Kriterien (UND) erfüllt sind. Die ersten beiden Kriterien fragen, ob die aktuelle Zelle in der Ursprungstabelle nicht leer ist bzw. eine leere Zeichenkette enthält. Das soll verhindern, dass leere Zellen oder leere Zeichenketten als Unikat gezählt werden.

Das dritte Kriterium ist die Prüfung, ob der Wert der aktuellen Zelle in der Ursprungstabelle weiter oben (BEREICH.VERSCHIEBEN) schon einmal vorgekommen ist (VERGLEICH). Wenn das nicht zutrifft, handelt es sich um ein Unikat, und die Zeilennummer wird eingetragen, sonst 0.

In der Hilfsspalte C wird mit der Formel WENN(B2<>0,"U","D") ein Kennzeichen eingetragen, ob es sich um ein Unikat ("U") oder Duplikat ("D") handelt. In D2 wird zunächst die Startzeile eingetragen. Darunter werden die Positionen der Unikate aufgelistet. Das erledigt die Formel

WENN(ODER(D2=MAX(B:B),D2=0),0,BEREICH.VERSCHIEBEN(BEREICH.VERSCHIEBEN($B$2,D2-2,0,1,1),VERGLEICH("U",BEREICH.VERSCHIEBEN($C$2,D2-1,0,$A$2-D2+1,1),0),0,1,1)).

Die Formel prüft zunächst, ob die bisher ermittelte Position bereits die letzte Position (MAX) oder 0 (Ende-Kennzeichen) ist. Wenn ja, wird 0 gesetzt. Sonst wird die nächste Position aus Spalte B übernommen, für die der Wert in Spalte C "U" ist.

Hinweise/Bemerkungen

Die Spalten A, B, C und D sind Hilfsspalten und können ausgeblendet werden. Das Ergebnis ist im Arbeitsblatt Ergebnis beispielhaft dargestellt.

Die Ergebnistabelle kann maximal so viel Zeilen haben wie die Ursprungstabelle. Deshalb wurden hier 20 Zeilen für das Ergebnis eingetragen. Wenn die Ursprungstabelle variabel ist, muss immer in der Ergebnistabelle geprüft werden, ob genügend viele Zeilen da sind. Dazu muss Spalte D eingeblendet sein. Das erste Auftreten von 0 kennzeichnet das Ende der Unikat-Liste.

Das Ergebnis sehen Sie in der folgenden Abbildung:

 

Die Lösung stammt von wilfert.de und wird mit ausdrücklicher Genehmigung auf Excel-Inside.de veröffentlicht.

Hier können Sie die Beispieldatei herunterladen.

   

Relevante Artikel

  • Wochenenden farbig markieren

    207065 Im Bereich A1:A20 steht eine Datumsreihe. Über den Befehl Bedingte Formatierung werden  nun die Wochenenden farbig hervorgehoben. Dazu gehen Sie wie folgt vor: 1. Markieren Sie den Bereich...

  • Bezeichnung / Name des Tabellenblatts auslesen

    In vielen Situationen wird die Bezeichnung des Tabellenblattes benötigt, bspw. wenn in einer Formel Bezug auf ein anderes Tabellenblatt genommen wird. Der Blattname kann entweder über eine Formel- oder...

  • Monats- bzw. Jahreswerte um den Wert 1 erhöhen

    201001 Die Funktion Datum () + X Monate liefert ausgehend von einem Monatsletzten falsche Ergebnisse, da sich ein Bug in Excel befindet. Die Rechnung Datum() + 30 ergibt ebenfalls das falsche...

  • Berechnungen ohne Istgleich-Zeichen durchführen

    207003 Möchten Sie z. B. Zahlen berechnen, die in der Zelle A1 ohne führendes Istgleich-Zeichen eingegeben sind? Über die Funktion "Namen definieren" können Sie diese Zahlen berechnen. Geben Sie...

  • Trennen von Texten unterschiedlicher Länge

    207069 Die folgende Funktion trennt Texte unterschiedlicher, unbekannter Länge bei der ersten Leerstelle. Gerade nach Datenimporten befinden sich oft Vor- und Nachname in einer Zelle. Wollen sie...