Auftragsprogrammierung

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 Unterstü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

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.

Drucken E-Mail

Relevante Artikel

  • Zahl mit gewählter Währung formatieren

    In diesem Beispiel zeigen wir Ihnen, wie Sie abhängig von der gewählten Währung beliebige Zellen in der gewählten Währung formatieren können. Das...

  • Fehlerwerte zählen

    Sie haben eine etwas umfangreichere Kalkulation erstellen und möchten prüfen, ob sich noch irgendwo Fehlerwerte befinden. Dieses Beispiel zeigt, wie...

  • Dateneingabe mittels (Daten-)Maske

    Dieser Tipp zeigt, wie strukturierte Daten ganz einfach und trotzdem komfortabel mit Hilfe der integrierten Dateneingabe-Maskein ein...

  • SUMMEWENN mit Textfragmenten

    Mit Hilfe der Funktion SUMMEWENN() werden in einem Bereich nur die Werte summiert, die mit dem Suchkriterium übereinstimmen. Mit =SUMMEWENN(A1:A50;">20";B1:B50")...

  • Vor- und Zuname trennen und vertauschen

    207056 Diese Funktion vertauscht 2 Wörter innerhalb einer Zelle miteinander. Das Teilstück vor dem Leer wird hinten angestellt und umgekehrt....

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der 
 Lösungsfindung?

  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
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Bestätigung erklären Sie sich mit der Verwendung von Cookies auf Excel-Inside Solutions einverstanden.
Weitere Informationen Ok