Вопрос: Excel можно заполнить две ячейки одной if-формулой


Я искал в Интернете, чтобы посмотреть, возможно ли это:

IF (логический тест, истинное значение, ложное значение)

Это то, что я пытаюсь сделать, например 

A2 =IF( B2 = 20 ; "True" & дать значение C2 "Закрыто"; False )

Как я могу это сделать?


-1
2017-09-29 09:42


Источник


Не совсем понятно, что вам нужно. Если эта функция была в C2, тогда = IF (B2 = 20, «True», «False»), то в C3 = IF (C2 = «True», «Closed»). Разве это не будет делать то, что вы хотели? Насколько мне известно, вы не можете «нажимать» значение на другую ячейку, только «тянуть» одну - Tetsujin
Ooh, если вы не можете нажать значение в другую ячейку, тогда вы уже определили мой вопрос. Что я хотел сделать, это если я поставил этот оператор IF в ячейку A2 и B2 имел значение 20 Тогда я хочу, чтобы A2 получил значение True и C2 получить значение Закрыто. - Beer
Тогда для этого потребуется 2 вычисления IF, один для проверки B2 = 20 и другого либо для одного и того же, либо для A2 = «True». - Tetsujin
Кстати, вы заметили, что вам не нужно «ложное» значение, только «истина» является обязательной. - Tetsujin
Спасибо @Tetsujin за awnser, но то, что я хотел бы попробовать, - это добиться функции в одном столбце. Я знаю, что ваш путь работает так же хорошо! И да, я знаю, что мне не нужно False, а хе-хе - Beer


Ответы:


Нет, вы не можете присвоить значение другой ячейке без VBA.

Вы можете сделать две формулы:

A2=IF(B2=20,"True","False")
C2=IF(A2="True","Closed","")

Для VBA вы можете сделать что-то вроде

sub test()
  For each c in range("B:B")
    If c = 20 then
      c.offset(-1,) = "True"
      c.offset(1,) = "Closed"
    End if
  Next c
end sub

2
2017-09-29 10:28



Спасибо, я попробую ваш VBA в ближайшее время, я никогда не использовал VBA раньше, но имею опыт программирования :) - Beer
@Beer, что я не вложил, конечно, вы захотите ограничить цикл for, возможно, определенным диапазоном или .usedrange - Raystafarian
Ну, если вы действительно хотите мне помочь, тогда мне нужно дать вам гораздо больше информации, чем этот простой пример. Как я работаю с тремя разными листами «Старый», «Новый» «Комбинат». Сначала я пытаюсь проверить Старый и Новые идентификаторы дубликатов и новых / старых записей на данный момент я использую эту формулу = IF (ISERROR (VLOOKUP (новый! C9; старый! $ B $ 3: $ B $ 998; 1; FALSE)); IF (New! C9 = 0; «Empty», «NEW»), «Duplicate»), поэтому я не могу проверить себя, если он работает, и, например, если есть New entrie, введите эту строку и вставьте ее в лист «Combine» - Beer
Я могу попытаться сделать небольшой фиктивный пример Excel, чтобы показать, что я имею в виду, какие-то значения в нем - Beer
Если вы хотите использовать макрос, все эти вещи относительно легко реализовать. Существует множество примеров макросов для проверки дубликатов и объединения строк / столбцов. Если вы возглавляете этот путь, дайте ему шанс, а затем опубликуйте еще один вопрос, показывающий ваш код и где вы застреваете. - Raystafarian


Для будущих ссылок и, возможно, для других, которые ищут ответ в будущем, вы можете сделать это с помощью единой формулы, если ячейки смежны. Например. если бы мы TRUE/FALSE в C2 и закрыто в D2.
Вы делаете это с помощью формулы массива ... Для этого вам необходимо:

  1. Выберите BOTH ячейки C2 & D2
  2. Введите формулу =IF($B2=20,{TRUE,"Closed"},{FALSE,""}) и использовать Ctrl+сдвиг+Войти установить его

Таким образом, IF возвращает массив значений (либо TRUE,"Closed" или FALSE,""), и, введя это как формулу массива с выбранными двумя ячейками, Excel заполнит оба.

К сожалению, вы не можете сделать такой подход, когда ячейки разделены, как в A2 / C2, как в вашем случае :-(


0
2017-09-30 10:27