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

0

Ich versuche, eine Formel zu schreiben, mit der Excel Daten in einer Zelle basierend auf dem Inhalt einer anderen Zelle platziert, aber die Formel kann nicht in der Zelle sein, in der Excel die Daten platziert.

Wenn wir die folgende einfache Formel nehmen und in Zelle B1 platzieren, funktioniert es gut: =IF(A1=1,"Okay","Nope")

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

Aber das will ich nicht

Ich möchte so 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","")

Damit wird die Zelle, die die Formel enthält, in Abhängigkeit vom Inhalt einer anderen Zelle nicht aktualisiert. Hier geht es darum, bestimmten Text basierend auf dem Inhalt einer anderen Zelle in eine andere Zelle zu verschieben, ohne dass sich die Formel in der Zelle befindet, in der der Text platziert ist.

Es scheint mir eine so einfache Aufgabe zu sein, aber ich bin nicht in der Lage, herauszufinden, wie ich sie verwirklichen kann.

Fehlt mir etwas?

Kenny
quelle

Antworten:

1

Dies kann mit einem VBA-Makro durchgeführt werden:

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 die Zelle ein A1 Führen Sie dann den Makro aus.

Falls erforderlich:

  • Das Makro kann geändert werden, um mehrere Zellen zu verarbeiten
  • Die Ausführung des Makros kann automatisch erfolgen, also nur geändert werden A1 würde dazu führen, dass das Makro ausgeführt wird.
Gary's Student
quelle
0

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

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 & amp; Fügen Sie diesen Code als Standardmodul ein.
  • Sobald Sie Cell bevölkern A1 mit 1 das Makro wird gestellt Okay in der Zelle C1, wenn Cell A1 ist leer oder hat einen anderen Wert als 1 dann wird dann Macro gesetzt Nope in der Zelle C1.

Hinweis:

  • Passen Sie die Zellreferenzen im Code nach Bedarf an und du darfst ersetzen Nope mit Blank oder irgendein anderer Wert auch.
Rajesh S
quelle