Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sortieren über Formeln

Sortieren über Formeln
12.04.2003 18:08:03
Steffen
Hallo

folgendes Problem: durch meine nun schon fast fertige Auswertung durch Vergleichen und Zählen konnte ich meine Daten schon soweit auswerten das ich nun folgendes Bild ergibt :

G1 Tee
G2 Kaffee
G3 Wert doppelt
G4 Wasser
G5 Wert doppelt
G6 Apfelsaft

Ich möchte nun erreichen das die Werte durch eine Formel automatisch sortiert wird so das es folgendes Bild ergibt :

G1 Tee
G2 Kaffee
G3 Wasser
G4 Apfelsaft

Alle doppelten Werte müßen entfernt werden und die Tabelle neu sortiert werden ohne das man die Sortier Option oder ein VBA Script verwendet das erst nach Aufruf funktioniert.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Sortieren über Formeln
12.04.2003 18:50:01
ChrisL

Hallo Steffen

Schau mal hier...
http://www.excelformeln.de/formeln.html?gruppe=11

Gibt eine Formel zum Aussortieren der Duplikate und auch eine Sortierformel.

Die Formeln werden aufgerufen durch Anklicken der Zahlen oder des Textes. Ein Großteil sind Array-Formeln {Matrixformeln}; - zu erkennen an den geschweiften Klammern vor dem Gleichheitszeichen und am Ende {=FORMEL}. Diese Klammern werden nicht eingegeben sondern zum Abschluß der Formel durch gleichzeitig Strg Shift Enter erzeugt (statt Enter allein). Wenn Du hier einen Array kopierst, diese Klammern also löschen, und die Formel wie beschrieben abschließen.

Gruss
Chris

Anzeige
Re: Nur zum Mitlesen
12.04.2003 19:01:00
Hans W. Hofmann

Ich klinke mich hier einfach mal rein, an DIESER Lösung wäre ich auch seehr interessiert.

Gruß HW

Re: Sortieren über Formeln
12.04.2003 19:02:04
Steffen

Sieht vielversprechend aus. Ich schaue mir mal alles durch :-)

Mail unterwegs
12.04.2003 19:34:04
ChrisL

Hallo ihr beiden

Habe euch eine Lösung per Mail zugestellt. Es handelt sich um eine Kombination von Formel 160 und 236. Es funktioniert über ein Hilfsblatt, welches ausgeblendet werden kann. Die Ausgabe kann natürlich nicht in der selben Spalte G erfolgen. Sowas ginge nur mit Makros.

Ferner lässt die Performance zugegebenermassen (zu mindest auf meiner Kiste) zu wünschen übrig.

Gruss
Chris

Anzeige
Re: Mail unterwegs
12.04.2003 20:10:45
Steffen

Hallo Chris

erst mal riesen Dank für deine Hilfe ich glaube das ist es :-).
Die Performance ist selbst auf meiner Kiste AMD2400+ bescheiden.
So ganz verstanden hab ich die ganzen Formeln zwar noch nicht aber einen Verdacht hab ich schon. Über die Spalte C im Hilfsblatt grüble ich noch ein wenig. Die Spalte ist wohl dazu da einen Vergleichswert bereitzustellen das man über die Zahlen dann die Wörter vergleichen kann. Ich werde mal testen ob man die Formeln noch benutzen kann wenn man G1:G800 vergleichen muß. Das könnte ein echtes Performance Problem werden.

Viele Grüße

Steffen

Anzeige
Re: Mail unterwegs
12.04.2003 20:23:42
ChrisL

Hallo Steffen

Um ehrlich zu sein, so ganz versteh ich die Formeln selber nicht... hab das wie gesagt einfach aus Excelformeln.de kopiert. Aber es ist schon richtig, dass die Spalte C (Hilfspalte der Sortierformel) eine Art Rangliste erstellt, mittels derer die Texteinträge anschliessend sortiert werden.

Betr. Performance würde ich persönlich eine Makrolösung bevorzugen.

Gruss
Chris


Re: Mail unterwegs
12.04.2003 20:38:52
Steffen

Na ja mit Makros hab ich schon gearbeitet mit diesem Makro hab ich das fast das erreicht was ich will:


Sub KeineDublikate()
Dim rngBereich As Range
Dim rngZelle As Range
Dim NoDups As New Collection
Dim Item As Variant

'Bei Fehler weitermachen
'Fehler tritt bei schon vorhandenem 'Key' in der Collection auf
On Error Resume Next

For Each rngBereich In Selection.Areas
For Each rngZelle In rngBereich
'Key = CStr(rngZelle.Value) muß einmalig sein, sonst Fehler
'That's the trick!
NoDups.Add rngZelle.Value, CStr(rngZelle.Value)
Next
Next

'neues Blatt anlegen
Sheets.Add Before:=Sheets(1)

'jedes einmalige Element der Collection ausgeben
For Each Item In NoDups
ActiveCell.Value = Item
ActiveCell.Offset(1, 0).Select
Next
End Sub

Das Makro sortiert die Liste ganz fein :-) hilft mir aber nicht weiter weil ich die Werte sofort sehen muß und nicht erst nach Bestätigung eines Makro Buttons. Hätte ich das gewollt hätte ich auch eine einfache Pivot Tabelle erstellen können. Wenn es eine Möglichkeit gibt das das obrige Makro die Werte sofort in einem anderem Arbeitsplat darstellt, könnte ich vieleicht auch was damit anfangen. Aber soweit ich mich durchgelesen habe dürfte das nicht gehen.

Gruß

Steffen

Anzeige
Re: Mail unterwegs
12.04.2003 20:58:03
ChrisL

Hallo Steffen

Löse das Makro mit einem Worksheet_Activate Ereignis aus. Dadurch werden die Daten automatisch "ge-updatetet", sobald du auf das andere Arbeitsblatt wechselst. Ginge auch mit Worksheet_Change, doch wenn du die Werte sowieso auf einem separaten Blatt hast ist es mit Activate effizienter.

Gruss
Chris

Re: Mail unterwegs
12.04.2003 22:56:51
Hans W. Hofmann

Naja, das ist nicht gerade der Brüller. Ich nehme dann doch lieber was eigenes. Mit einem etwas smarteren Sort gehts vielleicht etwas schneller.

Gruß HW




Re: Mail unterwegs
13.04.2003 20:07:51
Steffen

Hallo HW

wie funktioniert das Makro ? Ich brauche ein Makro das automatisch sortiert also mit activate oder so. Leider hab ich nicht viel Ahnung von Makros und VB Scripts wäre nicht schlecht wenn du das umschreiben könntest.

Ansonnsten habe ich den versucht die Lösung über Formeln zu Lösen die ich von ChrisL habe. Die Cpu Belastung ist so enorm das es 20 Sekunden dauert bis ich eine Lösung bekomme :-(

Mfg.

Steffen


Anzeige
Re: Mail unterwegs
13.04.2003 22:22:49
Josef B

Hallo Steffen und Hans

Mit Formeln, die genau auf die Bedürfnisse abegestimmt sind, würde das sicher schneller laufen. Dazu müsste man aber mehr über den Aufbau der Tabelle wissen. Es ist mir sowiso schleierhaft, wie die beiden erwähnten Formeln die Doppelten Werte aussortiertieren.

Gruss Josef

Re: Mail unterwegs
14.04.2003 12:48:04
Hans W. Hofmann

Gut ;-)
Was soll ich da umschreiben?
Die Makrofunktion repräsentiert eine Zeilen-Arrayformel.
In einem Zeilenbereich stehen Deine Werte. Das was G1:G10, oder?
Markiere H1:H10 und gib die Formel ein:
=SortODub(G1:G10) Abschließen mit Strg+Umschalt+Eingabe

Der markierte Bereich enthält jetzt den Formel-Array
{=SortODub(G1:G10)}
und das Ergebnis, d.h eine sortierte, um Dubletten bereinigte Kopie Deiner Ausgangsdaten.

Gruß HW

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige