Microsoft Excel 2007 - Formel zum Auffüllen von Zelle C1 basierend auf Zelle A1 ohne Liste?

505
Kenny

Ich versuche, eine Formel zu schreiben, die Excel-Platzierungsdaten in einer Zelle basierend auf dem Inhalt einer anderen Zelle erstellt, ABER die Formel darf nicht in der Zelle sein, in der Excel die Daten platziert.

Wenn wir die untenstehende einfache Formel nehmen und in Zelle B1 einfügen, funktioniert das gut: =IF(A1=1,"Okay","Nope")

Wenn ich die Nummer 1 in Zelle A1 eingebe, gibt Excel in Zelle B1 und Nope OK zurück, wenn A1 leer ist oder eine andere Nummer hat.

Aber das will ich nicht

Ich möchte etwas wie Wenn A1 die Nummer 1 enthält, sollte Excel die Zelle C1 mit dem Wort "Okay" platzieren / füllen. =IF(A1=1,C1="Okay","")

Um klar zu sein, dies ist nicht die Aktualisierung der Zelle, die die Formel enthält, abhängig vom Inhalt einer anderen Zelle. Es geht darum, bestimmten Text in einer anderen Zelle basierend auf dem Inhalt einer anderen Zelle zu platzieren, ohne dass sich die Formel in der Zelle befindet, in der der Text platziert wird.

Es scheint mir eine so einfache Aufgabe zu sein, aber ich kann nicht herausfinden, wie ich es schaffen kann.

Fehlt mir etwas?

0

2 Antworten auf die Frage

1
Gary's Student

Dies kann mit einem VBA-Makro erfolgen:

Sub PutData() If Range("A1").Value = 1 Then Range("C1").Value = "Okay" Else Range("C1").Value = "Nope" End If End Sub 

Geben Sie zuerst einen Wert in Zelle A1 ein und führen Sie dann das Makro aus.

Falls erforderlich:

  • Das Makro kann geändert werden, um mehrere Zellen zu verarbeiten
  • Die Ausführung des Makros kann automatisch ausgeführt werden. Wenn Sie also A1 ändern, wird das Makro ausgeführt.
0
Rajesh S

Da Sie keine Formel für das Problem benötigen, ist MACRO (VBA-Code) die beste Lösung. Und um den gesamten Prozess zu automatisieren, würde ich Worksheet_change eventlieber als einfaches MACRO empfehlen .

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" And Target.value = 1 Then Range("C1").value = "Okay" ElseIf Target.Address = "$A$1" And Target.value <> 1 Then Range("C1").value = "Nope" End If End Sub  

Wie es funktioniert:

  • Kopieren Sie diesen Code als Standardmodul.
  • Sobald Sie Zelle A1mit 1Makro füllen, wird Okayin Zelle eingefügt C1. Wenn Zelle A1leer ist oder einen anderen Wert als den Wert hat, 1 wird Makro Nopein Zelle eingefügt C1.

Hinweis:

  • Passen Sie Zellbezüge im Code nach Bedarf und Sie können ersetzen Nopemit Blankauch oder einem anderen Wert.