Microsoft Excel 2007 - формула для заполнения ячейки C1 на основе ячейки A1 без списка?
442
Kenny
Я пытаюсь написать формулу, чтобы Excel поместил данные в ячейку на основе содержимого другой ячейки, НО формула не может быть в ячейке, где Excel помещает данные.
Если мы возьмем приведенную ниже простую формулу и поместим ее в ячейку B1, она будет работать нормально: =IF(A1=1,"Okay","Nope")
Если я наберу число 1 в ячейке A1, то Excel вернет Okay в ячейке B1 и Nope, если A1 пусто или имеет другой номер.
Но это не то, что я хочу
Я хочу что-то вроде Если A1 содержит число 1, то Excel должен поместить / заполнить ячейку C1 со словом «Хорошо» =IF(A1=1,C1="Okay","")
Чтобы было ясно, это не обновляет ячейку, которая содержит формулу, в зависимости от содержимого другой ячейки, речь идет о размещении определенного текста в другой ячейке на основе содержимого другой ячейки без формулы, находящейся в ячейке, в которой находится текст.
Это кажется мне такой простой задачей, но я не могу понять, как это сделать.
Есть что-то, чего мне не хватает?
2 ответа на вопрос
1
Gary's Student
Это можно сделать с помощью макроса VBA:
Sub PutData() If Range("A1").Value = 1 Then Range("C1").Value = "Okay" Else Range("C1").Value = "Nope" End If End Sub
Сначала введите значение в ячейку A1, а затем запустите макрос.
Если необходимо:
макрос может быть изменен для обработки нескольких ячеек
выполнение макроса может быть сделано автоматически, поэтому простое изменение A1 вызовет запуск макроса.
0
Rajesh S
Поскольку вам не нужна формула для решения этой проблемы, то MACRO (код VBA) является лучшим решением. И для автоматизации всего процесса я бы рекомендовал, Worksheet_change eventа не просто MACRO.
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
Как это устроено:
Скопируйте и вставьте этот код как стандартный модуль.
Как только вы заполнить ячейки A1с 1Макро поместит Okayв ячейке C1, если сот A1является пустым или имеет какое - либо значение, что 1 тогда тогда Macro поместит Nopeв ячейке C1.
Замечания:
Настройка ссылок на ячейки в коде по мере необходимости, и вы можете заменить Nopeс Blankили любым другим значением также.