Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2017, 18:55   #1
tiger960
 
Регистрация: 30.08.2011
Сообщений: 6
По умолчанию Как сделать проверку значения в ячейке

Добрый день!
В колонке вперемешку содержатся значения двух "видов":
- год рождения, например "1970"
- дата рождения, например "15.04.1970".

Мне надо в соседней колонке с помощью формулы обработать первую колонку и вывести только год.
То есть сначала надо определить в каком виде записано значение в первой колонке.
Если в виде "1970", то просто взять это значение.
А если в виде "15.04.1970", то получается надо справа выделить 4 символа.

Как это сделать?
Не получается определить в каком виде записано исходное значение.
Пробовал найти символ "." с помощью "НАЙТИ(".";D6)".
Не срабатывает, пишет ошибку "#ЗНАЧ!".

Помогите разобраться.
tiger960 вне форума Ответить с цитированием
Старый 08.06.2017, 19:11   #2
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Код:
=--ТЕКСТ(A1;"[<2500]0;ГГГ")
Формула вернет "дата" или "год" в зависимости от значения
Код:
=ЕСЛИ(ГОД(A1)=--ТЕКСТ(A1;"[<2500]0;ГГГ");"дата";"год")
Алексей М.

Последний раз редактировалось AlexM12; 08.06.2017 в 19:17.
AlexM12 вне форума Ответить с цитированием
Старый 09.06.2017, 10:37   #3
tiger960
 
Регистрация: 30.08.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от AlexM12 Посмотреть сообщение
Формула вернет "дата" или "год" в зависимости от значения
Работает!
Спасибо огромное.

Объясните, пожалуйста, что значит:
1) "--" перед функцией "ТЕКСТ",
2) число "2500" в формулах,
3) формат "[<2500]0;ГГГ"?

Очень хочется понять, но раньше я такого в формулах не встречал.
tiger960 вне форума Ответить с цитированием
Старый 09.06.2017, 10:58   #4
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

1. Поищите статью в поисковиках "Что такое -- или как превратить ИСТИНА в 1, а ЛОЖЬ в 0?" в ней все подробно описано.
-- двойное бинарное отрицание. Эквивалентно умножению на -1 дважды.
В данном примере функция текст возвращает текст, а -- превращает его в число.
2. В Excel даты представляются числами от 0 и больше. Сегодняшняя дата это число 42895
2500 числу соответствует дата 4.11.1906. Я посчитал, что вы год не будете вводить более 2500, а дату менее 4.11.1906, поэтому я выбрал это число для логики. Разумеется число может быть другим.
3. Функция ТЕКСТ() позволяет использовать логику для выбора нужного формата.
Поищите статью "Пользовательский формат - форматирование"
[<2500] и есть логическая операция для выбора формата. 0 - целые числа этот формат действует, если условие выполнено, если нет, то действует формат ГГГ, который выводит номер года
Функция ТЕКСТ() может иметь два условия, т.е. применять один из трех форматов.
Об этом подробно читайте в статье.
Ссылки не показываю, так как это не приветствуется на форумах, но найти эти статьи не сложно.
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 09.06.2017, 14:44   #5
tiger960
 
Регистрация: 30.08.2011
Сообщений: 6
По умолчанию

Статью нашел, спасибо
tiger960 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в ячейке сделать Проверку данных с несколькими условиями mcxmcx Microsoft Office Excel 12 27.07.2015 12:18
цикл на проверку значения в ячейке vlgolu Помощь студентам 2 12.06.2012 00:11
Как сделать проверку ? HmTH Общие вопросы Delphi 42 20.10.2010 18:42
Как организовать проверку на наличие значения при UPDATE? vladtr SQL, базы данных 2 24.02.2010 14:47
как можно сделать проверку? KARUSHEV Помощь студентам 10 13.10.2009 15:15