Как правильно отформатировать эту вложенную функцию ЕСЛИ в Excel?

Я пытаюсь заставить функцию иметь вывод 0 или 1, если в ячейке B2 есть дата в формате мм/дд/гггг.

Например,

У меня две колонки. Первый столбец называется «OUT», а второй столбец называется «AMOUNT OUT». Итак, что я пытаюсь выяснить, так это: какую функцию я могу использовать для столбца, который читает «OUT», если в любой ячейке в этом столбце есть ДАТА, написанная внутри них - если у них есть дата - мне нужна функция чтобы вывести 1 в "AMOUNT OUT". Если у него нет даты, "AMOUNT OUT" должно быть 0.

Я попытался написать эту формулу в ячейке "СУММА ВЫПУСКА"
=CONCATENATE(IF(B2="DATEVALUE()" , "1" , "0", ) ЯЧЕЙКА B2 – это ячейка "ВЫХОД".
ЗНАЧ ДАТ не работает, потому что запрашивает конкретную дату, а мне нужно, чтобы это была любая дата в формате мм/дд/гггг.

Я не использую правильную функцию?


person R Trujillo    schedule 30.10.2017    source источник
comment
Это может быть сложно со встроенными функциями. Я могу придумать способ, который работает для многих дат, но когда вы говорите 01/10/2017, он ломается (это может быть 10 января или 1 октября). Является ли VBA вариантом? Редактировать: Хм, с VBA тоже может быть сложно. Опять же, как узнать, является ли 01/10/2017 или 04/06/2017 mm/dd/yyyy или dd/mm/yyyy...   -  person BruceWayne    schedule 30.10.2017
comment
Я ценю ответ, VBA или нет, я не против. Дайте мне знать, если что-нибудь появится.   -  person R Trujillo    schedule 30.10.2017


Ответы (1)


Вы можете попробовать это:

If(ISERR(DATEVALUE(TEXT(B2,"mm/dd/yyyy")));"1";"0")

Объяснение:

  • Text(B2, "mm/dd/yyyy") — необходимо только в том случае, если ваши значения на самом деле являются датами, чтобы преобразовать их в строки (используйте предпочтительный формат)
  • Datevalue(...) - Преобразует текст в дату
  • Iserr(...) - Проверяет, является ли значение внутри ошибкой (если в тексте указана недопустимая дата, это ошибка).
person Daniel Möller    schedule 30.10.2017
comment
Спасибо за четкое объяснение, хотя, когда я ввожу эту функцию, она дает мне проблему с этой формулой. ошибка. Я просто скопировал и вставил его, это сломает его? - person R Trujillo; 30.10.2017
comment
Как Excel узнает, что дата введена как dd/mm/yyyy для некоторых дат, например 10/03/2017? Это может быть 3 октября или 10 марта. - person BruceWayne; 30.10.2017
comment
Наверное запятая, которую я поставил вместо точки с запятой? Это сообщение обычно представляет собой опечатку, отсутствие скобок и тому подобное. - person Daniel Möller; 30.10.2017
comment
Обычно на вашем компьютере настроен фиксированный шаблон даты. Если вы используете американский Excel на английском языке, это, скорее всего, будет mm/dd/yyyy, если вы используете бразильский Excel на португальском языке, у вас будет dd/mm/yyyy. Это зависит не только от конфигурации Excel, но и от конфигурации вашей Windows. - person Daniel Möller; 30.10.2017
comment
Это сработало отлично! Именно то, что я хотел, все, что мне нужно было сделать, это заменить точку с запятой на запятую, и это сработало! Спасибо. - person R Trujillo; 30.10.2017