Zahlen in bestimmten Mustern anordnen bei Excel?

3 Antworten

Ich kann keinerlei Systematik in Deinem Muster entdecken, evtl Diagonalen -aber auch Zwischenzeilen?

Zahlen setzen kannst du ohnehin nur mit einem Makro. Statistisch verteilt kannst Du sowas erreichen für Felder beliebiger Größe (s=Spaltenzahl, z=Zeilenzahl, za = 1.Zeile, sa = 1.Spalte) mit einer Makroschleife für n Items:

Kernbefehl:

  • For i = 1 to n
  • Activesheet.Cells(int(Rnd() * z) + za, int(Rnd() * s) + sa).value = i
  • next i

(Da kann es aber vorkommen, dass eine schon beschriebene Zelle nochmal beschrieben wird, die erste Zahl also verschwindet.)

Wenn es das ist, was du suchst., programmiere ich Dir auch noch eine Prüfung, die das verhindert, nur verkompliziert jeder Zusatzschritt erheblich.

Also gib Rückmeldung, vorher mach ich nix!

Oder beschreibe genauer, nach welchem System Du die Zahlen gesetzt haben willst.

Verwandtes Problem: Ein kleines Lotto-Programm hab ich früher schon mal gemacht.

40

der zentrale Befehl geht auch noch viel kürzer, wenn Du den Bereich vorher markierst(Selection) oder benennst (ggf auch in einer Variablen "settest"):

  • Selection.Cells(Rnd() + 1).value = i

(wobei Du Dir das .value auch noch sparen könntest, das ist nämlich das Standardargument, aber der Klarheit wegen tu ichs immer rein.

0

Sinnvollerweise würde ich soetwas (in einer beliebigen) Programmiersprache programmieren, das ist wohl weniger Aufwand, als ein anderes Programm dazu zu bringen, deinen Regeln zu folgen. (Natürlich wäre das etwa auch als Makro in Excel möglich)

Die Zellen wären die Datenfelder eines 2-Dimensionalen Arrays.

Ein Pseudoprogramm würde etwa so aussehen:

Zeile :=1
Spalte :=1
Wert = 1

Schreibe Wert in Zeile/Spalte
Wert := Wert+1

Label RECHTS

Spalte = Spalte +1  //nach rechts gehen
Schreibe Wert in Zeile/Spalte
Wert := Wert+1

Solange Spalte > 1 {  //nach links unten gehen
Zeile = Zeile +1
Spalte = Spalte -1
Schreibe Wert in Zeile/Spalte
Wert := Wert+1}

Zeile = Zeile +1   //nach unten gehen
Schreibe Wert in Zeile/Spalte
Wert := Wert+1

Solange Zeile > 1 {  //nach rechts oben gehen
Zeile = Zeile - 1
Spalte = Spalte +1
Schreibe Wert in Zeile/Spalte
Wert := Wert+1}

Wenn Wert<Endwert springe zu Label Rechts

40

DH!, nochmal eine andere Interpretation!

@ densch: du siehst, jetzt haben sich (bisher schon) drei Leute den Kopf zerbrochen und unterschiedliche Lösungen angedacht, jetzt sei so gut und beschreibe noch etwas genauer, was Du Dir darunter vorgestellt hast!

Übrigens musste ich directupload stoppen, um überhaupt weiterarbeiten zu können!

0
23
@Iamiam

Naja, ich weiß nicht wirklich genau was es da näher zu beschreiben gibt.

Ich will nur die natürlichen Zahlen in einem Muster anordnen (beispielhaft das oft erwähnte Zickzackmuster)
und das möglichst automatisch weil ich keine Lust habe, 200+ Zahlen von Hand einzutippen.

Mal wieder ein Bild, wie sowas in Excel aussehen sollte:
http://www.bilder-upload.eu/show.php?file=f5699c-1475406980.png

(Ignoriert den blauen Rand)

Nur sollen es eben nicht nur 100 Zahlen oder so sein sondern ich hätte das ganze gerne so eingetragen für die ersten 1000 Zahlen oder so.

beispielsweise.

Da meine Frage offenbar doch viel uneindeutiger ist, wie erwartet, fangen wir mal mit einer einfachen frage an:
Kann man in Excel irgendwie den aktuellen Zeilen oder spaltenwert einer Zelle abfragen und dann diesen in einer Formel verarbeiten?

0

Aus dem Bild kann ich kein echtes Muster erkennen... ich bin auch kein Mathematiker, der elegante Formeln formulieren kann. Das musst Du als Voraussetzung, um das in einem Programm abbilden zu können eigentlich schon machen.

Eine Variante auf die Schnelle:


Sub schraegezahlen()
Dim x, y, i As Integer
i = 1
x = 1
y = 1
Cells(y, x).Value = i
While i < 100

'eins runter
i = i + 1
y = y + 1
Cells(y, x).Value = i
'hoch und rechts bis die obergrenze erreicht ist
While y > 1
i = i + 1
y = y - 1
x = x + 1
Cells(y, x).Value = i
Wend
'eins rüber
i = i + 1
x = x + 1
Cells(y, x).Value = i
'runter und links bis der seitliche rand erreicht ist
While x > 1
i = i + 1
y = y + 1
x = x - 1
Cells(y, x).Value = i
Wend
Wend

End Sub

malt folgendes Bild. Die Begrenzung auf die Zahlen bis 100 funktioniert, wie man sieht, noch nicht richtig, es wird die letzte Reihe noch zu Ende geschrieben.


Edit: Das Bild ist leider nicht das richtige, da waren x und y noch verdreht. Sieht aber ähnlich aus

 - (Excel, Muster, Symmetrie)
40

DH! so kann man die Aufgabenstellung auch sehen!

bei ungenau formulierten Anforderungen ist die Interpretation in jede Richtung denkbar: ich hab in Richtung statistische Verteilung gedacht!

0

Excel Zahl kopieren und in anderer Zelle gleichbleibend?

Hi, ich habe folgendes Problem. In Excel möchte ich eine Zahl aus z.B. der Zelle C5 in die Zellen C6-20 kopieren. Allerdings sollen sich die Zahlen in den Zellen C6-20 auch ändern, wenn ich in C5 die Zahl ändere. Wie geht das? Danke im Vorraus

...zur Frage

Excel: Zwei Zahlen in einer Zelle

Hallo!

Ich hätte gerne, dass Excel mir in einer Zelle zwei Zahlen aus zwei anderen Zellen in dem Format erste Zahl (zweite Zahl) zusammenfügt. Außerdem will ich die Formatierung als Zahl beibehalten und nicht als Text. Wäre sehr dankbar für Hilfe!

Viele Grüße!

...zur Frage

Excel-Differenz in 2 Zellen?

Hallo, ich möchte in meiner Excel-Tabelle eine Formel einfügen, wo es mir aus einer Zahl in Zelle A1 eine Zahl aus der Zelle A2 abzieht. Soweit ich weis ist das ja ein Zirkelbezug, oder?

Es funktioniert nicht, weil ich in die Zelle A1 ja keinen Wert mehr, den es mir abziehen soll hineinschreiben kann.

Hat jemand einen Lösungsvorschlag? Im besten Fall sollte die zahl in Zelle A2 danach auch noch verschwinden.

...zur Frage

EXCEL Werte in Zellen hintereinander setzen, Formel?

Hallo,

ich habe in excel Zahlen berechnen lassen, diese stehen aber in zwei Zellen.

Also angenommen Zelle A1 steht "33" und Zelle B1 steht "44".

Welcge Formel muss ich anwenden, damit ich automatischin Zelle C1 "3344" angezeigt bekomme, also einfach die zahlen hintereinander gesetzt?

Danke für eure Hilfe!

...zur Frage

Kann man in Excel mehrere Formeln in einer Zelle haben?

Hi, ich schreibe gerade ein Programm in Excel und da habe ich für den Status eine Formel in einer Zelle. Der Status wird in manchen Zeilen kann der Status aber noch nicht angezeigt werden, da noch nicht alle dafür notwendigen Zellen ausgefüllt sind. Deshalb zeigt Excel darin #Zahl! an. Das will ich aber nicht! Beim recherchieren habe ich eine Formel gefunden, die verhindert, dass dieser Fehlerwert angezeigt wird und diese will ich auch dort einbauen. Nachdem dort aber schon eine Formel drinnen steht, ist meine Frage, wie man verschiedene Formeln in Excel 2010 voneinander trennen kann. Danke für die Antworten schon im Voraus!

...zur Frage

Wenn in Zelle Zahl enthalten, dann Zelle ausblenden (Excel)?

Hi,

ich habe in Excel eine Spalte mit 5.000 Urls. In einigen Zellen sind achtstellige Zahlen enthalten. Ich möchte das nun so automatisch filtern, wenn in Spalte A eine Zahl von 0 bis 1 enthalten ist, dann blende diese Zeile komplett aus.

Wie mache ich das mit der WENN-Formel ?

Vielen Dank

...zur Frage

Was möchtest Du wissen?