Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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
Inhaltsverzeichnis

Daten im Excel auswählen und richtig sortieren

Daten im Excel auswählen und richtig sortieren
Elena
Hallo an alle.
Ich bin keine Excelprofi, bin aber faszieniert, was das Programm so alles kann. Mit den Excelfunktionen habe ich bereits gearbeitet, aber nur oberflächlich.
Nun wurde mir eine Aufgabe anvertraut, die ich alleine nicht bewältigen kann. Kann mir vielleicht jemand helfen?
Die Aufgabe sieht so aus:
Ich habe vier Spalten von Ziffern 1 bis 9, die so aussehen:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 6 6 6
7 7 7 7
8 8 8 8
9 9 9 9
Nun muss sich aus diesen Ziffern vier richtig lange spalten anfertigen, mit den Ziffern, die per Zufallsprinzip aus den oberen Spalten ausgewäht werden.
Z.B. so:
1 4 6 3
5 8 2 3
7 2 6 8
3 7 8 4
9 4 8 3
Wichtig ist dabei, dass es keine zwei übereinstimmende Ziffern in einer Zeile geben darf. So eine Konstallation wäre z. B. falsch:
1 1 3 4
1 5 3 1
1 1 1 3
1 2 2 1
Ich bräuchte eine Tabelle aus vier Spalten mit allen möglichen Kobinationen (ohne Übereinstimmungen). Mein anderes Problem liegt darin, dass ich eine englische Version Excel 2010 habe und ich weiß nicht, ob hier die Funktionen genau so wie in der deutschen Version benannt sind.
Wüsste vielleicht jemand eine Lösung?
Das würde mir sehr weiterhelfen :)
Danke!!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten im Excel auswählen und richtig sortieren
22.09.2011 12:54:13
Rudi
Hallo,
Ich bräuchte eine Tabelle aus vier Spalten mit allen möglichen Kobinationen (ohne Übereinstimmungen).
Das hat dann aber nichts mehr mit Zufall zu tun.
In A alle Zahlen von 1111-9999
 ABCDEF
1abcdef
2111111111
3111211122

ZelleFormel
B2=TEIL($A2;SPALTE(A2);1)+0
C2=TEIL($A2;SPALTE(B2);1)+0
D2=TEIL($A2;SPALTE(C2);1)+0
E2=TEIL($A2;SPALTE(D2);1)+0
F2{=SUMME(1/ZÄHLENWENN(B2:E2;B2:E2))}
Achtung, Matrixformel!
Die geschweiften Klammern{} nicht eingeben,
sondern die Zelle mit
Shift + Strg + Enter
verlassen statt Enter alleine.

Dann F nach 4 filtern, die Zeilen löschen und B:E in Werte umwandeln. Und schon hast du die Liste.
Teil=Mid, Spalte=Column, Zählenwenn=CountIf, Summe=Sum
Gruß
Rudi
Anzeige
AW: Daten im Excel auswählen und richtig sortieren
22.09.2011 13:26:50
Harald
Hallo Elena,
mit Excel Formeln fällt mir dazu nichts ein. VBA ginge so:
Option Explicit
Option Base 1

Sub Test()
Dim i As Integer, k As Integer, l As Integer, m As Integer
Dim zeile As Long
Dim Feldgröße As Long
Dim Ergebnis(9 ^ 4, 4) As Integer
Const MaxZahlen = 9
Const Startspalte = 6
Dim Entnehmen As Long, Füllen As Long
' Feld mit allen möglichen Kombinationen füllen
Füllen = 0
For i = 1 To MaxZahlen
For k = 1 To MaxZahlen
For l = 1 To MaxZahlen
For m = 1 To MaxZahlen
If (Cells(i, 1)  Cells(k, 2)) And (Cells(i, 1)  Cells(l, 3)) And (Cells(i,  _
1)  Cells(m, 4)) And _
(Cells(k, 2)  Cells(l, 3)) And (Cells(k, 2)  Cells(m, 4)) And _
(Cells(l, 3)  Cells(m, 4)) Then
Füllen = Füllen + 1
Ergebnis(Füllen, 1) = Cells(i, 1)
Ergebnis(Füllen, 2) = Cells(k, 2)
Ergebnis(Füllen, 3) = Cells(l, 3)
Ergebnis(Füllen, 4) = Cells(m, 4)
End If
Next
Next
Next
Next
'Shuffle des Arrays für zufällige Verteilung
For i = 1 To Füllen
k = 1 + CInt(Füllen * Rnd())
l = 1 + CInt(Füllen * Rnd())
If k  l Then
Call tausche(Ergebnis, k, l)
End If
Next
'Ausgeben des Arrays in die Tabelle
For Entnehmen = 1 To Füllen
Cells(Entnehmen, Startspalte) = Ergebnis(Entnehmen, 1)
Cells(Entnehmen, Startspalte + 1) = Ergebnis(Entnehmen, 2)
Cells(Entnehmen, Startspalte + 2) = Ergebnis(Entnehmen, 3)
Cells(Entnehmen, Startspalte + 3) = Ergebnis(Entnehmen, 4)
Next
End Sub


Sub tausche(ByRef feld() As Integer, ByVal k As Integer, ByVal l As Integer)
Dim tmp(4) As Integer
Dim i As Integer
For i = 1 To 4
tmp(i) = feld(k, i)     'sichern er ersten Zeile
Next
For i = 1 To 4
feld(k, i) = feld(l, i) 'überschreiben der ersten Zeile durch die zweite Zeile
Next
For i = 1 To 4
feld(l, i) = tmp(i)     'überschreiben der zweiten Zeile durch die gesicherten Werte der  _
ersten Zeile
Next
End Sub

Voraussetzungen:
- Deine Zahlen stehen in A1:D9
- Ergebnis wird ab Spalte F ausgegeben (im Ciode an der Stelle "Const Startspalte = 6" zu ändern.
Der Code sollte auch bei engl. Excel laufen.
Gruß
Harald
Anzeige
AW: Daten im Excel auswählen und richtig sortieren
22.09.2011 16:29:28
Elena
Danke, danke, danke!
Das Problem ist nun gelöst!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige