Anzeige
Archiv - Navigation
132to136
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
132to136
132to136
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Permutationen

Permutationen
02.07.2002 14:03:53
Norbi
Hallo,

wie kann ich mit VBA mir alle Permuationen einer Reihe ausgeben lassen? Z.B. alle Möglichkeiten "A","B","C" und "D" zu sortieren. Bei vier Werten wären das 24 Möglichkeiten - bei 8 Werten schon 40320.

Danke schon einmal im vorraus.

Norbi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Permutationen
02.07.2002 14:18:26
Sina
Hi,
ich bin zwar keine Mathematikerin, aber ich hätte da ne idde. Du fängst, ZB. mit ABCD an. DannLässt du den letzten Buchstaben immer eine Position weiter nach vorne wandern: ABDC, ADBC, DABC. Vorne angekomme, machst du das selbe mit dem wieder letzten Buchstaben, also C: DACB, DCAB, CDAB.
usw. das ENde wäre dann bei BACD, denn ABCD hattest du ja schon am Anfang.
Jetzt musst du allerdings alle deine Ergebnisse auch noch von hinten lesen lassen.
Bei ABCD kommt man zumindest auf 24 Möglichkeiten :)
Die Variante AAAA hattest du nicht mit vorgesehen, oder??
Viel Erfolg,
Sina
Anzeige
Re: Permutationen
02.07.2002 15:15:42
th.heinrich
hi Norbi,

braucht kein VBA zu sein. excel bietet die FUNTION FAKULTÄT.

gruss thomas

ergaenzung
02.07.2002 15:24:17
th.heinrich
Re: Permutationen
02.07.2002 15:38:02
Hans W. Hofmann
Hallo Norbi,

www.lemitec.de/ppt | Statistik mit Excel

Gruß HW

Re: Permutationen
02.07.2002 15:39:21
Norbi
Hi Thomas,

ich brauche nicht die Anzahl der Möglichkeiten. Die kann ich ja, wie Du schon sagtest mit Fakultät ausrechnen. Ich muß leider alle Möglichkeiten aufzeigen, um daraus eine auszuwählen, die bestimmte Bedingungen erfüllt. Das mit ABCD ist nur ein Auszug aus einem viel komplexeren Kontext.
Aber danke trotzdem

Re: Permutationen
02.07.2002 15:52:57
th.heinrich
hallo Norbi,

das ist natuerlich vom Forum schwer zu erraten ;-)

versuch den komplexeren kontext mal zu verklickern.

gruss thomas

p.s. das mit meiner ergaenzung hat dann wohl auch nicht geholfen?

Anzeige
Re: Permutationen
02.07.2002 16:15:57
Norbi
Hi,

wenn ich das ganze Problem verklickern würde, würde das den Rahmen dieses Forums sprengen.
Aber ein Bspl kann ich bringen. Angenommen ich suche die Möglichkeiten ABC anzuordnen. Als Ausgabe hätte ich dann gerne:
ABC, BAC, BCA, CBA, CAB, ACB also 6 Zeilen (3!). Im nächsten Schritt werden die einzelnen Reihenfolgen dann bewertet. Z.B. Ähnlich einer Routenplanung, d.h. ich möchte die Orte AB und C anfahren - welches ist der kürzeste Weg? Ein Problem hierbei ist aber dann z.B. das Ort B bis z.B. 15:00 Uhr angefahren sein muß. und damit z.B. die Kombination CAB nicht funktionieren würde.
Das reale Problem hat zwar nichts mit Orten oder Routenplanung zu tun, wäre aber analog zu beschreiben.

Gruß Norbi

Anzeige
Re: Permutationen
02.07.2002 16:19:06
Norbi
Hi Sina,

Deine Lösung gefällt mir. Nur bin ich gerade am verzweifeln, wie man das "von hinten lesen" hinbekommt. Das "von vorne lesen" klappt schon. Sind aber leider dann nur 12 Möglichkeiten, wobei der Rest symetrisch wäre, oder?

Gruß Norbi

Re: Permutationen
02.07.2002 16:39:41
th.heinrich
hi Norbi,

vielleicht bring das Dich weiter.

www.herber.de/forum/archiv/40to44/t40571.htm

leider wird der LINK nicht korrekt ausgefuehrt.

fuer den naechsten schritt habe ich leider keine idee.

gruss thomas


Re: Permutationen
02.07.2002 16:45:45
norbi
Hi,
wie ist denn die Überschrift von der 40571? Weil so finde ich sie nicht.
Gibt es da eine Suchefunktion. Weil in den letzten 30 Tagen ist nichts zu finden

Danke

Anzeige
Re: Permutationen
02.07.2002 16:48:05
norbi
Doch gefunden.

Danke.

Ich probiere das gleich mal aus!

Gruß

Re: Permutationen
02.07.2002 17:00:01
Norbi
Nochmals Danke,

hier für alle die interessiert sind das Makro:

Sub permut()
Columns("A:E").ClearContents
a = Array("A", "B", "C", "D")
Call permutation(a, 0)
End Sub
Function permutation(ByVal a, k)
If k = 3 Then
zeile = Cells(65536, 1).End(xlUp).Row
If Cells(1, 1) <> "" Then zeile = zeile + 1
For i = 0 To 3
Cells(zeile, i + 1) = a(i)
Next
Else
For i = k To 3
x = a(i)
a(i) = a(k)
a(k) = x
Call permutation(a, k + 1)
Next
End If
End Function

und das beste ist, es funktioniert !!!!

Anzeige
freut mich geholfen zu haben.
02.07.2002 17:15:27
th.heinrich
hi Norbi,

den LINK habe ich mittels dem genialen XLFINDER gefunden den Hans unter RECHERCHE-DOWNLOAD bereitstellt.

gruss thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige