Видел кратко сегодня 2 темы Лунтика по замене скрытой функции РАЗНДАТ на обычные формулы. Пока отвлекся, уже одну тему закрыли, а другую удалили. Сильно не вникал в задачу иначе бы точно запутался )) Но так как что-то уже было надергано из источника, то выложу здесь вариант для дат, больших текущей, аналогично использованию РАЗНДАТ с параметрами "m" и "md". В столбце F - формулы с использованием РАЗНДАТ а в столбце G - обычными формулами.
ZVI, Владимир, добрый день. В указанной первой теме Лунтик так и не смог пояснить "правил игры" по этому и закрыли на четвертом листе первую. но смотрите, он по каким то причинам хочет видеть 5 мес 21 день а не 4 мес 21 дн 4 мес 21 дн ну и если уйти от технического приема в сторону для чего - это тоже было на уровне "так хочется" и нытье о помощи. Мне вот так и не понятно зачем ему это.
что касается техники, то по прежнему остается открытый вопрос, "черный в белую полосочку или белый в черную", то есть между 28.02.2019 и 29.02.2020 12 месяцев или 12 месяцев и 1 день.
Михаил, добрый вечер, я специально не вникал в нюансы Fuzzy Logic темы, а лишь изобразил прямой аналог РАЗНДАТ по результату, так как где-то там звучало, что в ОpenОffice нет такой функции. А сойдет или нет - мне не очень-то и важно
На всякий случай, когда-то уже приводил примеры ошибок функции РАЗНДАТ в теме Разница дат Причем, у разных версий Office попадались свои ошибки. У РАЗНДАТ странная логика, но её назначение было в совместимости в Lotus 1-2-3 со всеми ошибками, поэтому она и скрыта.
ZVI, смотрите, для сегодняшнего дня у Вас в ячейке C24 10 мес 30 дн, а должно быть 10 мес 27 дн. То есть месяцы должны считаться календарные. Подскажите, пожалуйста, как поправить формулу?
Ребята, вот мне реально не понятно, - что Вам не понятно. Есть рабочие формулы Михаила Витальевича С. и ZVI. Их нужно лишь чуть-чуть переделать. Всё вроде объяснено и в файле показано. Что не понятно?
Вы напишите как вы считает и почему это так, какие дни входят и почему именно так, только не так как файле: A и B должно быть С. Про всю бесполезность такого отображения этого Вам уже написали ранее. Это все равно что навигатор бы подсказывал, что через 100км 431м 24см вам резко вправо.
БМВ написал: что через 100км 431м 24см вам резко вправо
Так мне именно это и нужно.
Цитата
БМВ написал: Вы напишите как вы считает и почему это так
Считаем для ячейки С24: 10 месяцев - это понятно - дней: 17 дней в этом феврале оставшихся + 10 дней января 2020 = 27 дней. Подскажите, пожалуйста, как исправить формулу.
или немного покороче: =12*(ГОД(C24)-ГОД(СЕГОДНЯ()))+МЕСЯЦ(C24)-МЕСЯЦ(СЕГОДНЯ())-(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ()))&" мес "& ДЕНЬ(C24)-ДЕНЬ(СЕГОДНЯ())+ЕСЛИ(ДЕНЬ(C24)<ДЕНЬ(СЕГОДНЯ());ДЕНЬ(КОНМЕСЯЦА(СЕГОДНЯ();0)); )&" дн"
Было упомянуто, что это - даты сертификатов. А кто считает срок действия сертификата иначе, чем по календарным месяцам? Да и исходя из объяснений по конкретным ячейкам разве сложно было понять?
Было много работы. Посмотрел только сейчас. В ячейке C5 получается 53 мес 11 дн., а должно быть 53 мес 9 дн. Скажите, пожалуйста, как поправить формулу?
Объясняю: 53 мес - понятно, дни: я считаю так: поставим в ячейку C5 дату 01.08.2023. Считаем: 17 дней февраля и 1 день августа - 18 дней. Вычитаем 9 дней (между 1 августа и 22 июля) и получаем 9 дней. Итого 53 мес 9 дней.
Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы) Например, так:
35. Исчисление периодов работы ... производится в календарном порядке из расчета полного года (12 месяцев). При этом каждые 30 дней указанных периодов переводятся в месяцы, а каждые 12 месяцев этих периодов переводятся в полные годы.
Думаю, что функция ДНЕЙ360() как раз для этого случая.
Лунтик, в приложенной таблице заполните, пожалуйста, столбцы C:D , а в E напишите комментарии по расчету. Мы тогда либо разберемся в необходимом Вам алгоритме, либо поймем, что он противоречив.
Например, добавляя два раза по месяцу к 31.01.2019, мы получаем результат, отличающийся от добавления двух месяцев сразу на три дня. P.S. Особая благодарность Юлию Ц. и Августу