Excel-Listen-Problem

Hallo WWW-ler, die Ihr Excelfreaks seid… 

Ich habe ein Verteilproblem.

In einer Tabelle stehen folgende Daten:

 A B
1 Meis 3
2 Bohnen 6
3 Mehl 2

Ich möchte gerne, dass in einer Liste etwas weiter unten in der Tabelle dann folgendes steht:

 A
8 Meis
9 Meis
10 Meis
11 Bohnen
12 Bohnen
13 Bohnen
14 Bohnen
15 Bohnen
16 Bohnen
17 Mehl
18 Mehl

Dabei sollen halt in einzelnen Zellen die Werte stehen.
Wenn man dann die Anzahl der Werte in B 2 z. B. in 3 ändert, soll dann automatisch folgende Liste entstehen:

 A
8 Meis
9 Meis
10 Meis
11 Bohnen
12 Bohnen
13 Bohnen
14 Bohnen
15 Bohnen
16 Bohnen
17 Mehl
18 Mehl
19 Mehl

Ist so was möglich??

Gruß und Dank!

Doc

Grüezi Doc

Ja, das kannst Du (relativ einfach :wink:) mit den folgenden Formeln erreichen - eine für den ersten Begriff und die zweite dann einfach weit genug nach unten kopieren.
Die ersten 5 Zeilen sind hier im Moment für die gewünschten Begriffe und deren Anzahl vorgesehen, das kannst Du ggf auch noch weiter anpassen:

 │ A │ B │ C │
───┼────────┼───┼───┤
 1 │ Mais │ 3 │ │
───┼────────┼───┼───┤
 2 │ Bohnen │ 6 │ │
───┼────────┼───┼───┤
 3 │ Mehl │ 2 │ │
───┼────────┼───┼───┤
 4 │ │ │ │
───┼────────┼───┼───┤
 5 │ │ │ │
───┼────────┼───┼───┤
 6 │ │ │ │
───┼────────┼───┼───┤
 7 │ │ │ │
───┼────────┼───┼───┤
 8 │ Mais │ │ │
───┼────────┼───┼───┤
 9 │ Mais │ │ │
───┼────────┼───┼───┤
10 │ Mais │ │ │
───┼────────┼───┼───┤
11 │ Bohnen │ │ │
───┼────────┼───┼───┤
12 │ Bohnen │ │ │
───┼────────┼───┼───┤
13 │ Bohnen │ │ │
───┼────────┼───┼───┤
14 │ Bohnen │ │ │
───┼────────┼───┼───┤
15 │ Bohnen │ │ │
───┼────────┼───┼───┤
16 │ Bohnen │ │ │
───┼────────┼───┼───┤
17 │ Mehl │ │ │
───┼────────┼───┼───┤
18 │ Mehl │ │ │
───┼────────┼───┼───┤
19 │ │ │ │
───┼────────┼───┼───┤
20 │ │ │ │
───┴────────┴───┴───┘
Benutzte Formeln:
A8 : =INDEX($A$1:blush:A$5;1)
A9 : =WENN(A8="";"";WENN(ZÄHLENWENN($A$8:A8;A8)

Nach der Veränderung des Wertes in B3 sieht das Ganze dann so aus:



    
     │ A │ B │ C │
    ───┼────────┼───┼───┤
     1 │ Mais │ 3 │ │
    ───┼────────┼───┼───┤
     2 │ Bohnen │ 6 │ │
    ───┼────────┼───┼───┤
     3 │ Mehl │ 3 │ │
    ───┼────────┼───┼───┤
     4 │ │ │ │
    ───┼────────┼───┼───┤
     5 │ │ │ │
    ───┼────────┼───┼───┤
     6 │ │ │ │
    ───┼────────┼───┼───┤
     7 │ │ │ │
    ───┼────────┼───┼───┤
     8 │ Mais │ │ │
    ───┼────────┼───┼───┤
     9 │ Mais │ │ │
    ───┼────────┼───┼───┤
    10 │ Mais │ │ │
    ───┼────────┼───┼───┤
    11 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    12 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    13 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    14 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    15 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    16 │ Bohnen │ │ │
    ───┼────────┼───┼───┤
    17 │ Mehl │ │ │
    ───┼────────┼───┼───┤
    18 │ Mehl │ │ │
    ───┼────────┼───┼───┤
    19 │ Mehl │ │ │
    ───┼────────┼───┼───┤
    20 │ │ │ │
    ───┴────────┴───┴───┘


Tabellendarstellung erreicht mit dem Code in [FAQ:2363](/t/faq/9292363)


Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Danke,Thomas, für die schnelle Hilfe.
Das hat mir sehr geholfen. :smile:

Hi Thomas,

habe gerade die Formel mal eingebaut.
Dabei sind eine bzw. zwei kleine Macken aufgetaucht.
Wenn der erste Werte 0 ist oder ein Wert in der Tabelle, dann setzt der Rechner einen falschen Wert in der Liste.

Gibt es da eine „einfache“ Lsg für? :smile:

Vielen Dank nochmal.

Gruß
Doc

 │ A │ B │ C │
───┼────────┼───┼───┤
1 │ Mais │ 0 │ │
───┼────────┼───┼───┤
2 │ Bohnen │ 6 │ │
─ ─┼────────┼───┼───┤
3 │ Mehl │ 0 │ │
───┼────────┼───┼───┤
4 │Kuchen │ 2 │ │
───┼────────┼───┼───┤
5 │ │ │ │
───┼────────┼───┼───┤
6 │ │ │ │
───┼────────┼───┼───┤
7 │ │ │ │
───┼────────┼───┼───┤
8 │ Mais │ │ │
───┼────────┼───┼───┤
9 │ Bohnen │ │ │
───┼────────┼───┼───┤
10 │ Bohnen │ │ │
───┼────────┼───┼───┤
11 │ Bohnen │ │ │
───┼────────┼───┼───┤
12 │ Bohnen │ │ │
───┼────────┼───┼───┤
13 │ Bohnen │ │ │
───┼────────┼───┼───┤
14 │ Bohnen │ │ │
───┼────────┼───┼───┤
15 │ Mehl │ │ │
───┼────────┼───┼───┤
16 │ │ │ │
───┼────────┼───┼───┤
17 │ │ │ │
───┼────────┼───┼───┤
18 │ │ │ │
───┼────────┼───┼───┤
19 │ │ │ │
───┼────────┼───┼───┤
20 │ │ │ │
───┴────────┴───┴───┘

Grüezi Doc

habe gerade die Formel mal eingebaut.
Dabei sind eine bzw. zwei kleine Macken aufgetaucht.

Nein, das sind keine Macken sondern unvollständige Basis-Informationen… :wink:

Wenn der erste Werte 0 ist oder ein Wert in der Tabelle, dann
setzt der Rechner einen falschen Wert in der Liste.

Nein, die Formel geht davon aus, dass ein Wert der in der Liste oben steht auch mindestens einmal in der Auflistung unten auftauchen soll.

Gibt es da eine „einfache“ Lsg für? :smile:

Ja, nimm Daten/Werte die nicht aufgelistet werden sollen einfach aus dem Bereich A1:A5 heraus… :smile:

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hi Thomas,

-) der Tipp ist wirklich gut, hat aber leider den Haken, dass ich das leider nicht verhindern kann, dass ich in der Spalte B auch mal Nullen stehen habe. :frowning:

Es ist so, dass die Werte wieder aus anderen Tabellen beigesteuert werden.

Na ja, mal schauen…

Vielen Dank nochmal!

Wenn Du eine Idee hast, kannst Du Dich ja nochmal melden.

Gruß
Doc

Grüezi Doc

-) der Tipp ist wirklich gut, hat aber leider den Haken, dass ich das leider nicht verhindern kann, dass ich in der Spalte B auch mal Nullen stehen habe. :frowning:

Es ist so, dass die Werte wieder aus anderen Tabellen
beigesteuert werden.

Fein :frowning:

Dann schildere doch mal detailliert, was denn die Anforderungen sind, wie gross der Bereich oben ist und welche Werte in Spalte B denn zu erwarten sind.

Das Ganze mit den ‚0‘ durchgängig laufend zu machen ist nämlich nicht so ganz ohne und ich mag nicht Zeit investieren nur um zu hören, dass alles gut ist aber nun eben doch nochmal ‚ein wenig anders‘…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hi Thomas,

also oben in der Liste stehen maximal 12 Werte (A1 - A10).
In der Spalte B1-B10 kommen nur Nullen oder positive, ganze Zahlen vor.
Die Nullen können einmal oder mehrfach in der Spalte B1-B10 vorkommen.
Dabei ist die Position der Nullen vollkommen variabel (zB. B1->B10: 0, 4, 0, 0, 4, 6, 0, 0, 19, 0). Siehe auch einen meiner letzten Posts.

Das sind die Bedingungen.

Wie schon geschrieben, sind die Werte für die Spalten A und B aus einer anderen Tabelle bereitgestellt und sollen dann in der „gewünschten“ Liste enden.

ICh werde mich da am WE auch nochmal mit beschäftigen.

Vielen Dank!

Grüße

Doc

Grüezi Doc

Danke für die ‚definitiven‘ Spezifikationen

also oben in der Liste stehen maximal 12 Werte (A1 - A10).

Ich gehe davon aus, dass da maximal 10 Werte drin stehen werden… :wink:

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Das sind die Bedingungen.

Wie schon geschrieben, sind die Werte für die Spalten A und B
aus einer anderen Tabelle bereitgestellt und sollen dann in
der „gewünschten“ Liste enden.

Hallo Doc,

irschendwie tröpfeln bei dir Informationen so peu a peu ein.
Das schwächt genauso peu a peu auch die Hilfsbereitschaft des hilfbereitesten Schweizers auf der Welt :smile:)

Um mal alles auf den Tisch zu bringen und um es genau zu sehen.
Wenn „andere Tabelle“ ein Tabellnblatt der gleichen Mappe ist so lade nur diese Mappe hoch, ansonsten halt beide Mappen.

Hochladen mit z.B. file-Upload, s. FAQ:2606

Gruß
Reinhard

Nabend Reinhard, Nabend Thomas,

mehr gibt es eigentlich nicht zu den „Spezifikationen“ zu sagen.
OK, ich habe mich mit der Anzahl „12“ vertan, aber ich denke, das spielt keine Rolle, oder? :wink:
Die Lsg wird man doch sicherlich auch an andere Gegebenheiten anpassen können :smile:

Die Bereitstellung der Daten besteht darin, dass die Zahlenwerte in Spalte B aus einem anderen Tabellenblatt kommen. Die Werte der Zellen A1-A10 sind fix und nicht sortiert.

Ich weiß Eure Mühen sehr zu schätzen und möchte mich für die „kleckerweisen“ Infos entschuldigen.

Das kam daher, dass im weiteren Verlauf der Entwicklung dieser Tabelle sich halt neue Sachverhalte auftaten. Sorry.

Viele Grüße

Doc

Hallo Doc,

mehr gibt es eigentlich nicht zu den „Spezifikationen“ zu
sagen.

kann ich leider nicht einschätzen.

Ich weiß Eure Mühen sehr zu schätzen und möchte mich für die
„kleckerweisen“ Infos entschuldigen.

Ist okay und vom Tisch.

Was ist nun, problem gelöst oder noch akut?
Wenn noch akut lade hoch.

Gruß
Reinhard

Hi Thomas,

leider habe ich es am WE nicht hinbekommen. :frowning:

Hier ist die Ausgangstabelle.
Ich habe einen Zellenbereich A1-B12, in dem Eingaben gemacht werden

 │ A │ B │ ..
───┼────────┼───┼───┤
 1 │ Mais │ 3 │ │
───┼────────┼───┼───┤
 2 │ Bohnen │ 0 │ │
───┼────────┼───┼───┤
 3 │ Mehl │ 2 │ │
───┼────────┼───┼───┤
 4 │ Erbsen │ 0 │ │
───┼────────┼───┼───┤
 5 │ Ketchup│ 1 │ │
───┼────────┼───┼───┤
 6 │ ... │ ..│ │

Bedingungen:

  1. Die Liste hat in Spalte A maximal 12 Werte.
  2. Die Liste hat in Spalte B nur Werte zwischen 0 und 20.
  3. Die Werte werden im dem oben beschriebenen Bereich eingegeben.

In einem anderen Bereich soll dann automatisiert eine Liste erscheinen.
Die Werte sollen in Abhängigkeit der Anzahl (siehe oben) einfach, mehrfach oder gar nicht erscheinen.
Beispiel:

───┼────────┼───┼───┤
 . │ │ │ │
───┼────────┼───┼───┤
20 │ Mais │ │ │
───┼────────┼───┼───┤
21 │ Mais │ │ │
───┼────────┼───┼───┤
22 │ Mais │ │ │
───┼────────┼───┼───┤
23 │ Mehl │ │ │
───┼────────┼───┼───┤
24 │ Mehl │ │ │
───┼────────┼───┼───┤
25 │ Ketchup│ │ │
───┼────────┼───┼───┤
26 │ │ │ │
───┼────────┼───┼───┤
27 │ │ │ │
───┼────────┼───┼───┤
28 │ │ │ │
───┼────────┼───┼───┤
29 │ │ │ │
───┼────────┼───┼───┤
30 │ │ │ │
───┼────────┼───┼───┤

Wenn das möglich ist, wäre das schon eine Supersachen.

Vielen Dank schonmal im Voraus an die Excelvirtuosen.

Dank und Gruß

Doc

Grüezi Doc

Hier ist die Ausgangstabelle.
Ich habe einen Zellenbereich A1-B12, in dem Eingaben gemacht
werden

Ja wie denn jezt nun?
Weiter oben hast Du geschrieben:

Es ist so, dass die Werte wieder aus anderen Tabellen beigesteuert werden.

Werden die hier nun eingegeben oder kommen sie aus einem anderen Tabellenblatt und werden hier ‚nur‘ per Zellenbezug zugeordnet?
Je nach Anwendung und Lösungsweg macht das einen gewaltigen Unterschied aus.

│ A │ B │ …
───┼────────┼───┼───┤
1 │ Mais │ 3 │ │
───┼────────┼───┼───┤
2 │ Bohnen │ 0 │ │
───┼────────┼───┼───┤
3 │ Mehl │ 2 │ │
───┼────────┼───┼───┤
4 │ Erbsen │ 0 │ │
───┼────────┼───┼───┤
5 │ Ketchup│ 1 │ │
───┼────────┼───┼───┤
6 │ … │ …│ │

Bedingungen:

  1. Die Liste hat in Spalte A maximal 12 Werte.
  2. Die Liste hat in Spalte B nur Werte zwischen 0 und 20.
  3. Die Werte werden im dem oben beschriebenen Bereich
    eingegeben.

In einem anderen Bereich soll dann automatisiert eine Liste
erscheinen.
Die Werte sollen in Abhängigkeit der Anzahl (siehe oben)
einfach, mehrfach oder gar nicht erscheinen.
Beispiel:

───┼────────┼───┼───┤
. │ │ │ │
───┼────────┼───┼───┤
20 │ Mais │ │ │
───┼────────┼───┼───┤
21 │ Mais │ │ │
───┼────────┼───┼───┤
22 │ Mais │ │ │
───┼────────┼───┼───┤
23 │ Mehl │ │ │
───┼────────┼───┼───┤
24 │ Mehl │ │ │
───┼────────┼───┼───┤
25 │ Ketchup│ │ │
───┼────────┼───┼───┤
26 │ │ │ │
───┼────────┼───┼───┤
27 │ │ │ │
───┼────────┼───┼───┤
28 │ │ │ │
───┼────────┼───┼───┤
29 │ │ │ │
───┼────────┼───┼───┤
30 │ │ │ │
───┼────────┼───┼───┤

Wenn das möglich ist, wäre das schon eine Supersachen.

…mal sehen, aber wohl nicht heute Nachmittag…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Doc,

mit Formeln hab ich#s nicht so und da muss man wohl tricky rangehen, scheint nicht so einfach.
Wie wär#s mit Vba?

Nimm mal ein leeres Blatt = Tabelle1 einer neuen mappe.

Dann unten Rechtsklick auf den namen des Blattes, dann "Code anzeigen.
Nun bist du im VB-Editor im Modul des tabellenblattes,
Kopiere da diesen Code rein:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(„B1:B12“)) Is Nothing Then Exit Sub
Call Ausfuellen
End Sub

Dann im Editor, Einfügen—Modul, dadurch bist du im Satandardmodul Modul1, dort kopierst du diesen Code rein:

Option Explicit

Sub Ausfuellen()
Dim Zei As Long, Pos As Long
Pos = 20
With Worksheets("Tabelle1")
 .Cells(20, 1).Resize(1000, 1).ClearContents
 For Zei = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
 If .Cells(Zei, 2).Value \> 0 Then
 .Cells(Pos, 1).Resize(.Cells(Zei, 2).Value, 1).Value = .Cells(Zei, 1).Value
 Pos = .Cells(Rows.Count, 1).End(xlUp).Row + 1
 End If
 Next Zei
End With
End Sub

Jetzt schließe den Vb-Editor.

Schreib da in A1:b12 rein was du willst. Äh, so wie in deinem Beispiel *mein* :smile:
Du wirst sehen daß immer wenn du in B1:B12 eine Eingabe gemacht hast reagiert der Code vollautomatisch und schreibt aktualisiert ab A20 nach unten das rein was du wolltest.

Um nervige lange hin- und her Beitragsfolgen zu vermeiden,
lade dann eine Kopie deiner Originalmappe hier hoch.
Daten/Spalten/Blätter die keinerlei Rolle spielen für uns kannste ja löschen.
Wir wollen nur wissen wo stehen da deine A1:b12 im Realen als Zellbereich, wo deine A20:Ax im Realen.

Und wenn im Berecih von A1:B12 Formeln stehen müssen wir die zellen sehen auf die sich die Formeln beziehen.
Und, wenn Thomas da Bock hat eine Formellösung zu basteln so kann ihm das langen. Mir bzw. einer Vba-Lösung noch nicht.
Denn um automatisch auf zellwertänderungen zu reagieren muß Vba die Zelle kennen in der du manuell etwas eingibst.

Hochladen der mappe dann mit file-upload o.ä., s. FAQ:2606

Gruß
Reinhard

Gruß
Reinhard

Hallo Reinhard, Hallo Thomas,

das war die Lsg. Vielen Dank für Eure Mühe und Geduld mit mir.
Damit kann ich weiterarbeiten.

Euch noch einen schönen Tag.

Gruß
Doc