|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Проблема при сравнении дат в Excel |
|
|
Разное - Проблема при сравнении дат в Excel
|
Новый участник Сообщения: 39 |
Здравствуйте!
Через программу выгружаю заданный массив данных в Excel и уже провожу различные вычисления в Excel. Возникла проблема, следующего вида: Сравниваю две даты через функцию "ЕСЛИ". Последняя дата в колонке должна быть больше первой, если это так, то пишется "правда", а если нет, то "ложь". Как видим на скрине 01.04 больше, чем 23.03, но при это пишется "ложь!", вместо "правда". ![]() Далее идем в первую сравниваемую колонку и просто нажимаем на нее (редактируем) и нажимаем снова "enter" (сохраняем изменения) ![]() и видим следующее: ![]() Выражение считает уже правильно!!! Менять формат ячеек - не помогает. Пробовал в разных версиях работать - 2003 и 2007, но результат один и тот. В ручную каждую запись изменять и проводить такие операции, когда записей тысячи и на постоянной основе обработка идет - не вариант... Если даты в одном месяце, то сравнение идет по умолчания правильное. Может кто подскажет, как можно выйти из данной ситуации. За ранее спасибо!!! |
|
Отправлено: 12:38, 13-04-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ДмитрийБел, дело за малым — упакуйте образец Вашей рабочей книги, приведённой на скриншоте, в архив и выложите последний здесь или на RGhost.
|
Отправлено: 13:12, 13-04-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать Вот:
|
Последний раз редактировалось ДмитрийБел, 14-04-2015 в 15:42. Отправлено: 13:51, 13-04-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ДмитрийБел, у Вас в столбце «IssueDate» не числовые данные, а текстовые. Посему никакие манипуляции с форматом отображения не дадут результата.
Самый простой способ перевести из текста в число (коим и является в реальности дата) следующий:
Скрытый текст
![]() Затем отформатируйте числовые значения в ячейках как дату. Конечно, самым правильным будет по возможности настроить Ваше приложение, из которого Вы осуществляете экспорт, так, чтобы в ячейках с датой были именно числовые значения дат, а не текст в виде даты. |
Отправлено: 14:18, 13-04-2015 | #4 |
Модератор Сообщения: 16852
|
Профиль | Сайт | Отправить PM | Цитировать |
|
------- Отправлено: 14:34, 13-04-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать okshef, правильно ли я понимаю, что:
|
Отправлено: 14:43, 13-04-2015 | #6 |
Модератор Сообщения: 16852
|
Профиль | Сайт | Отправить PM | Цитировать 1. Да
2. Я поправил пост Возможно (не на чем сейчас проверить) достаточно даже J2-I2>0 |
------- Отправлено: 15:07, 13-04-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать okshef, спасибо, ясно. Значит, итоговый вывод таков: необходимо и достаточно любым возможным способом привести текстовое значение к числу.
Цитата okshef:
|
|
Отправлено: 15:21, 13-04-2015 | #8 |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать Спасибо большое!!!
Можно использовать одно на выбор из двух вариантов? =ЕСЛИ(--J2>--I2;"правда";"ложь") или =ЕСЛИ(J2-I2>0;"правда";"ложь") Последнее выражение не понятно, но главное работает! Может ещё подскажете два вопроса: 1) можно ли вместо "ложь", чтобы ячейка закрашивалась в красный цвет, к примеру? Нашел формулу для определения цвета заливки ячейки, а на заливку нет. 2) можно ли через "ЕСЛИ" сравнивать два значения в одной ячейке т.е. J2>I2 и J2>H2 - если сохраняются два условия сразу, то "правда"? |
Последний раз редактировалось ДмитрийБел, 13-04-2015 в 23:57. Отправлено: 18:34, 13-04-2015 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата ДмитрийБел:
В первом случае происходит перевод текстового содержимого ячейки в число посредством двух унарных операций «-» (насколько я это понимаю), причём для обеих целевых ячеек. Во втором случае также происходит неявное преобразование в процессе вычисления разницы между значениями ячеек — как я понимаю, среда производит попытку неявного преобразования значения ячеек из текста в число. Цитата ДмитрийБел:
или даже просто: затем используйте для ячеек «Условное форматирование». Цитата ДмитрийБел:
и соответственно вся формула будет выглядеть как: |
|||
Отправлено: 20:01, 13-04-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка - Чудеса при форматировании, копировании и сравнении | Swarn | Microsoft Windows 2000/XP | 12 | 12-10-2013 18:46 | |
2010 - Excel 2010 зависает при открытии файла Excel 2003 | dinzhevatov | Microsoft Office (Word, Excel, Outlook и т.д.) | 9 | 18-06-2013 21:45 | |
Delphi - Сравнение дат | Radik_Assasin | Программирование и базы данных | 5 | 21-08-2011 13:49 | |
Кеш Nehalem в сравнении с Deneb | futureuser | Процесcоры | 0 | 24-03-2008 01:04 | |
GPRS в сравнении с Dial-Up'ом :) | german r | Мобильные ОС, смартфоны и планшеты | 6 | 16-01-2003 00:35 |
|