Frage von privilege11, 74

Excel: Wert wiederholen bei Eingabe?

Liebe Community und liebe Excel-Freunde,

ich komme nicht auf die (vermutlich einfache) Lösung und hoffe, dass ihr mir weiterhelfen könnt:

Ich gebe in Spalte C einen Wert ein. In jeder Zelle der Spalte C soll genau dieser Wert wiederholt werden, wenn der Text in Spalte A gleich zu dem in der Zeile ist, indem ich den Wert eingegeben habe.

Im Beispiel (Bild) einfacher ausgedrückt: Ich gebe in C2 den Wert "20" ein. Überall dort, wo in der Spalte A "Nickel" steht, soll in der gleichen Zeile der Spalte C der Wert "20" wiederholt werden.

Ich hoffe, das war verständlich und freue mich auf eure Antworten. Vielen Dank im Voraus.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Funfroc, 39

Hallo,

die Ausführung mit der separeten Tabelle und dann per Sverweis die Zahl ziehen ist so schon richtig.

Eine andere sinnvolle Methode wäre, die Werte per Makro automatisch auszufüllen. Aber auch hier musst du vorab die Tabelle definieren, nur eben in VBA. Kommt ein neuer möglicher Wert hinzu, muss das Makro angepasst werden. Da sehe ich den Aufwand in der ersten Variante deutlich niedriger.

Theoretisch könntest du den Sverweis auch in der gleichen Tabelle machen, dann muss das Erstvorkommen des entsprechenden Argumentes aber auf einen bestimmten Teilbereich begrenzt sein. Das wäre im Endeffekt auch nichts anderes als eine seperate Tabelle, nur innerhalb der eigentlichen Tabelle, was die ganze Sache imho noch komplizierter macht...

LG, Chris

Kommentar von privilege11 ,

Verstanden, also doch zweite Tabelle und mit SVerweis. Ich hoffe, ich bekomme das hin.

Vielen Dank!

Kommentar von Funfroc ,

Hallo,

sverweis ist eigentlich nicht so schwer, wobei es natürlich immer auf die schon vorhandenen Kenntnisse ankommt.

Schau mal hier: http://www.excellernen.de/excel-sverweis/

Wichtig ist halt zu verstehen, wie die Formel aufgebaut sein muss, also die Syntax zu verinnerlichen.

LG, Chris

Antwort
von ETechnikerfx, 50

Interessante Frage. So wie du es willst ist es mir nach ersten Überlegungen nicht möglich. Es wäre jedoch möglich mittels einer zweiten Liste all eindeutigen Attribute aus der Spalte A in einen seperaten Bereich zu legen (neue Tabelle) und dann den Wert jedes Attirbutes daneben, in der Form:

Spalte X                   | Spalte Y

Nickel                       | 20

Insulating Membran | 30

...

Für die Spalte C machst du nun einen Sverweis auf Spalte A und der neuen Tabelle, dann solltest du das Ergebnis haben. Jedoch musst du die Werte für die Spalte C dann entsprechend in Spalte Y eintragen.

Kommentar von privilege11 ,

Das war auch meine erste Überlegung, allerdings wollte ich gerade das Arbeiten in einer zweiten Tabelle vermeiden. Sollte ich keine Möglichkeit finden, werde ich deine Lösung jedenfalls wieder aufgreifen.

Hab vielen Dank!

Expertenantwort
von Oubyi, Community-Experte für Excel, 18

Wenn das keine einmalige Sache sein soll, lässt es sich imho nur per VBA lösen. Falls Du Dich daran traust, teste das mal in einer Sicherheitskopie ausführlich:

Mache einen Rechtsklick auf den Tabellenreiter (unten, da wo z.B. Tabelle1 steht) und gehe dann auf "Code anzeigen...".
In das große Fenster des VBA-Editors, der sich dann öffnet kopierst Du folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
On Error GoTo ErrorHandler
Application.EnableEvents = False
Dim Zelle As Range
Dim Name As String
Name = Target.Offset(0, -2).Value
For Each Zelle In Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp))
If Zelle.Offset(0, -2).Value = Name Then Zelle.Value = Target.Value
Next Zelle
ErrorHandler: Application.EnableEvents = True
End If
End Sub

Die Datei musst Du danach aber als .xlsm speichern, und Makros zulassen.

Hilft Dir das? Habe ich es richtig verstanden?

Kommentar von privilege11 ,

Also ich habe es genau so gemacht, wie du beschrieben hast. Leider funktioniert es nicht. Es werden überhaupt keine Werte übernommen (außer natürlich in der Zelle, in die ich eintrage).

Du hast dir schon sehr viel Mühe gegeben und ich will dich nicht überbeanspruchen. Ich bin daher geneigt mit dem SVerweis zu arbeiten.

Vielen Dank!

Antwort
von azmd108, 37
=Wenn($A$2=A3;$C$2;"irgendwas anderes")

Formel in C3 schreiben und runterziehen
Kommentar von privilege11 ,

Ich glaube in dem Fall prüft er aber nur die Zeile, die jeweils unter der Formel steht, oder? Aber er müsste für jede Zelle in der Spalte C die gesamte Tabelle prüfen.

Kommentar von azmd108 ,

So wie ich es verstanden habe, willst du immer wenn in Spalte A der Wert steht wie in Spalte A2, auch den Wert an diese Stelle von C2 übertragen, richtig?

Also wenn in A2 Nicke steht und in A10 auch Nickel, willst du in C10 den Wert aus C2 haben, oder irre ich?

Kommentar von Funfroc ,

für einen einmaligen Wert funktioniert deine Formel.

Er will es aber natürlich für jeden Wert, der Mehrfach vorkommt, ab dem 2. Vorkommen, den Wert des ersten Vorkommens haben.

Das geht mit deiner Formel natürlich nicht.

Kommentar von azmd108 ,

ah verstehe, nagut, in dem Falle einfach die Formel über weitere Wenn-Formeln erweitern

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten