2014-08-29 4 views
1

Мне нужно оценить две ячейки ([start_date] и [дата окончания]) и получить разницу в днях. [дата окончания] - [дата начала] отлично работает, если даты совпадают с тем же месяцем, проблема возникает, если [дата начала] относится к предыдущему месяцу.Число дней в диапазоне дат

Например, если [дата начала] - 20140527, а [дата окончания] - 20140603 Excel возвращает 76. Я также попытался использовать формулу DATEDIF, но Excel вызывает ошибку #NUM!.

Пожалуйста, смотрите этот простой screencast Я создал.

+1

использование NETWORKDAYS http://office.microsoft.com/en -in/excel-help/calculate-the-difference-between-two-dates-HP010070467.aspx – Tamil

+0

NETWORKDAYS также возвращает #NUM! ошибка. – Derek

ответ

2

Судя по полученным результатам, Excel не осознает, что цифры представляют даты. Ваш подход работает в течение месяца, потому что, например, 15-е место на 5 дней впереди 10-го, тогда как 15-е число следующего месяца больше, чем на 5 дней раньше 10-го числа этого месяца.

Таким образом, чтобы иметь возможность вычесть одно из другого Excel необходимо знать, что эти цифры представляют даты, которые могут быть достигнуты различными способами, один из с является с формулой вида:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) 

, сделав такие преобразования, просто принимая разницу, должен предоставить результаты, которые вы хотели бы, например 7, а не 76 (который исходит от 603 до 527).

+0

Ваша формула работает, но она требует создания новых полей даты в новых столбцах. Не думаю, что есть способ вставить эту формулу поверх существующих полей даты? Может быть, работает макрос? – Derek

+0

Код такого рода, я думаю, был бы единственным способом - за исключением чего-то «уродливого», как работа над копией и «Вставить специальный», «Значит результаты из копии поверх источника». Но если вы хотите разницу, это должно пойти куда-то, и вы могли бы объединиться в одной ячейке, таким образом: '= formula (end) -formula (start)' – pnuts

+1

Ницца! = DATE (LEFT (B20,4), MID (B20,5,2), RIGHT (B20,2)) - DATE (LEFT (A20,4), MID (A20,5,2), RIGHT (A20,2))) – Derek

2

TEXT функция может преобразовать значение как 20140829 на сегодняшний день, как 8/29/2014, так что вы можете получить количество дней с этой формулой функционировать

=TEXT(B20,"0000-00-00")-TEXT(A20,"0000-00-00")

+0

Спасибо Барри, отлично поработал! – Derek

Смежные вопросы