Этот подход будет выполнять математику, конвертируя все в те же базовые единицы, что и месяц. Вы можете выполнять действия над несколькими столбцами, что облегчит чтение, обслуживание и устранение неполадок. Когда все работает, вы можете объединить его в единую формулу, которая будет чудовищной, которую трудно будет прочитать и, возможно, поддерживать другие в будущем.
Ради этого решения предположим, что ваша дата 1.11 указана в A1, а дата 0.7 - в B1.
Шаг 1) Преобразовать А1 и В1 в месяцы
В C1 поместите следующую формулу и скопируйте ее в D1
=LEFT(A1,FIND(".",A1)-1)*12+RIGHT(A1,LEN(A1)-FIND(".",A1))
Шаг 2) Найдите разницу в месяцах
В E1 Поместите следующую формулу
=C1-D1
Шаг 3) Преобразовать разницу в месяцах в формат year.month
В F1 поместите следующую формулу
=INT(E1/12)&"."&(E1-INT(E1/12)*12)
Теперь, если вы получили и подставили формулы друг в друга, так что все в одной ячейке, ваша формула будет выглядеть следующим образом.
=INT(((LEFT(A1,FIND(".",A1)-1)*12+RIGHT(A1,LEN(A1)-FIND(".",A1)))-(LEFT(B1,FIND(".",B1)-1)*12+RIGHT(B1,LEN(B1)-FIND(".",B1))))/12)&"."&(((LEFT(A1,FIND(".",A1)-1)*12+RIGHT(A1,LEN(A1)-FIND(".",A1)))-(LEFT(B1,FIND(".",B1)-1)*12+RIGHT(B1,LEN(B1)-FIND(".",B1))))-INT(((LEFT(A1,FIND(".",A1)-1)*12+RIGHT(A1,LEN(A1)-FIND(".",A1)))-(LEFT(B1,FIND(".",B1)-1)*12+RIGHT(B1,LEN(B1)-FIND(".",B1))))/12)*12)
Я бы не хотел, чтобы кто-то новенький приходил и смотрел на это и пытался выяснить, что он делает, не говоря уже о том, чтобы редактировать его через 3 месяца, когда потребуется изменение.
Несколько предостережений. Убедитесь, что дата в A больше, чем дата в B. Это дает плохие результаты для отрицательных значений. Также убедитесь, что всегда есть "." в дату или ошибки будут следовать. Если разница составляет 12 месяцев, в настоящее время она будет отображаться как 1,0 вместо 0,12. Если требуется позднее, необходимо разработать особый случай, когда есть различия, приводящие к кратности 12 различий.