Permutationen



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Permutationen
von: Norbi
Geschrieben am: 02.07.2002 - 14:03:53

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


nach oben   nach unten

Re: Permutationen
von: Sina
Geschrieben am: 02.07.2002 - 14:18:26

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
nach oben   nach unten

Re: Permutationen
von: th.heinrich
Geschrieben am: 02.07.2002 - 15:15:42

hi Norbi,

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

gruss thomas


nach oben   nach unten

ergaenzung
von: th.heinrich
Geschrieben am: 02.07.2002 - 15:24:17

hallo Norbi,

da ja die zeichenanzahl sicher variabel ist.


MS Excel von th.heinrich an th.heinrich
 ABC
140320abcdefgh8
2  
3=FAKULTÄT(C1)  =LÄNGE(B1)


gruss thomas

nach oben   nach unten

Re: Permutationen
von: Hans W. Hofmann
Geschrieben am: 02.07.2002 - 15:38:02

Hallo Norbi,

www.lemitec.de/ppt | Statistik mit Excel

Gruß HW


nach oben   nach unten

Re: Permutationen
von: Norbi
Geschrieben am: 02.07.2002 - 15:39:21

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


nach oben   nach unten

Re: Permutationen
von: th.heinrich
Geschrieben am: 02.07.2002 - 15:52:57

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?


nach oben   nach unten

Re: Permutationen
von: Norbi
Geschrieben am: 02.07.2002 - 16:15:57

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

nach oben   nach unten

Re: Permutationen
von: Norbi
Geschrieben am: 02.07.2002 - 16:19:06

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


nach oben   nach unten

Re: Permutationen
von: th.heinrich
Geschrieben am: 02.07.2002 - 16:39:41

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


nach oben   nach unten

Re: Permutationen
von: norbi
Geschrieben am: 02.07.2002 - 16:45:45

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


nach oben   nach unten

Re: Permutationen
von: norbi
Geschrieben am: 02.07.2002 - 16:48:05

Doch gefunden.

Danke.

Ich probiere das gleich mal aus!

Gruß


nach oben   nach unten

Re: Permutationen
von: Norbi
Geschrieben am: 02.07.2002 - 17:00:01

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 !!!!

nach oben   nach unten

freut mich geholfen zu haben.
von: th.heinrich
Geschrieben am: 02.07.2002 - 17:15:27

hi Norbi,

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

gruss thomas


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "InputBox-Eingabe auf 31Zeichen begrenzen"