Разница между двумя датами в таблицах Google, выраженными в годах, месяцах, днях (в одном столбце)

Принятый anwer хорош. Но это долгий путь для работы хорошего бокового бара. вы можете использовать этот элемент управления, если вам нужно рабочее меню.

https://github.com/beto-rodriguez/MaterialMenu

вы может также установить его из nuget.

вот пример


        
            
                
                    
                        
                            Welcome
                        
                    
                    
                    
                    
                
            
        
    

1
задан player0 18 March 2019 в 14:31
поделиться

3 ответа

=IF(DATEDIF(A1, B1, "D")>365, QUOTIENT(DATEDIF(A1, B1, "D"), 365)&" year(s) "&
                          QUOTIENT(MOD(DATEDIF(A1, B1, "D"), 365), 30)&" month(s) "&
                      MOD(QUOTIENT(MOD(DATEDIF(A1, B1, "D"), 365), 30), 30)&" day(s)",
 IF(DATEDIF(A1, B1, "D")>30,  QUOTIENT(DATEDIF(A1, B1, "D"), 30)&" month(s) "&
                                   MOD(DATEDIF(A1, B1, "D"), 30)&" day(s)", 
                                       DATEDIF(A1, B1, "D")&" day(s)"))

0

0
ответ дан player0 18 March 2019 в 14:31
поделиться
=IF(                 DATEDIF(A2, B2, "D")> 365, 
      SPLIT(QUOTIENT(DATEDIF(A2, B2, "D"), 365)&" "&
        QUOTIENT(MOD(DATEDIF(A2, B2, "D"), 365), 30)&" "&
    MOD(QUOTIENT(MOD(DATEDIF(A2, B2, "D"), 365), 30), 30), " "),
 IF(                 DATEDIF(A2, B2, "D")> 30, 
 {"", SPLIT(QUOTIENT(DATEDIF(A2, B2, "D"), 30)&" "&
                 MOD(DATEDIF(A2, B2, "D"), 30), " ")},
            {"", "", DATEDIF(A2, B2, "D")}))

0

Демонстрационная таблица

0
ответ дан player0 18 March 2019 в 14:31
поделиться

Я буду интерпретировать ваш вопрос как требующий ответа в полных годах, полных календарных месяцах и любых оставшихся днях. Это должно быть довольно просто, за исключением случаев, когда месяц, содержащий дату начала, имеет больше дней, чем месяц, предшествующий месяцу, содержащему дату окончания *.

Пример:

Start Date End Date Result
28/1/19    1/3/19   1 month and 1 day
29/1/19    1/3/19   1 month and 1 day
30/1/19    1/3/19   1 month and 1 day
31/1/19    1/3/19   1 month and 1 day

Если вы примете это, то следующие формулы должны работать:

Год

=datedif(A1,B1,"Y")

Месяц

=mod(datedif(A1,B1,"m"),12)
[ 1119] День

=IF(DAY(B1)>=DAY(A1),DAY(B1)-DAY(A1),DAY(EOMONTH(B1,-1))+DAY(B1)-MIN(DAY(A1),DAY(EOMONTH(B1,-1))))

enter image description here

РЕДАКТИРОВАТЬ

* Проверено это на [118 ] этот веб-сайт и обнаружил, что он делает то же самое предположение - вы получаете такую ​​же продолжительность (1 месяц и один день) с 28/1/19 по 1/3/19, как с 31/1/19 по 1/3 / 19, хотя общее количество дней (32 или 29) отличается.

Возможный обходной путь - взять дни, оставшиеся в начальном месяце

=IF(DAY(B1)>=DAY(A1),DAY(B1)-DAY(A1),DAY(EOMONTH(A1,0))-DAY(A1)+DAY(B1))

, что, кажется, согласуется с этим веб-сайтом

Вы также можете использовать аргумент MD Datedif:

=datedif(A1,B1,"MD")

Но как в Google Sheets, так и в Excel это может привести к отрицательному числу, как указано в документации Excel :

The "MD" argument may result in a negative number, a zero, or an inaccurate result. If you are trying to calculate the remaining days after the last completed month...

enter image description here [+1127]

0
ответ дан Tom Sharpe 18 March 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: