Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Строка 15: вводим 1901. получаем 02.11.1900 - 01.12.1900. вычитаем год 02.11.1899 - 01.12.1899
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Низкий поклон! Спасибо.
Обнаружил ещё  проблему перехода начала отсчёта дат 01.01.1900
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Конечно же Вы правы! 30.06.1925! Действительно в формуле ошибка. Выделена красным.
Насчёт Google таблиц - я так и предполагал, что работать макрос не будет.
Я планирую сделать этот калькулятор на своей веб странице html. Правда пока не представляю как это сделать.
В любом случае очень Вам признателен и обязан.
Если могу быть Вам чем то полезен - буду рад.
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Дата До не связана с От. Считается по исходным данным. Логика расчёта непростая, и несмотря на то, что здесь не генеалогический форум, ссылаюсь на свою статью её излагающую.
Шелагин А.Б. Сборник статей.
С датами От работает прекрасно.

по заданному возрастному статусу и дате его регистрации следует вычесть значение возрастного статуса и период его дискретизации из даты регистрации и прибавить 1 день, получив нижнюю границу искомого периода.
верхней границы – только вычесть значение возрастного статуса.

по заданному возрастному статусу и году его регистрации следует провести вычисление нижней границы искомого интервала для даты 1 января, а верхней границы для 31 декабря заданного года.

заданному возрастному статусу, месяцу и году его регистрации следует провести вычисление нижней границы искомого интервала для даты 1-го числа месяца и

верхней границы для последнего числа месяца заданного года.

Изменено: shegal - 22.11.2025 11:20:23
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Хорошо, меня устраивает результат отображаемый текстом, формата дат до 1900. Как результат вычислений менее 1900 уменьшить на 1900 и отобразить текстом вида формата даты? И почему не работает Ваш макрос?
Изменено: shegal - 22.11.2025 10:24:32
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Да конечно. Прилагаю. В столбцах G и F мне требуются даты  в формате 1835 а не 3735.
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
Function DateBefore1900(ByVal baseDate As Date, ByVal YearsBack As Integer, Optional ByVal DaysBack As Integer = 0) As String    Dim resultDate As Date    resultDate = DateAdd("d", -DaysBack, DateAdd("yyyy", -YearsBack, baseDate))    DateBefore1900 = Format(resultDate, "dd.mm.yyyy")End Function
Спасибо! Вставил ваш код function (картинку прилагаю). Но функция не работает (#ЗНАЧ! см. картинку).
Изменено: shegal - 22.11.2025 08:16:22
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
а в качестве примера, почему-то, приложили картинк
Пример иллюстрирует отображение даты 1800г как 3700. А на вопрос ответа нетути.
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Код
Function DateBefore1900(ByVal baseDate As Date, ByVal YearsBack As Integer, Optional ByVal DaysBack As Integer = 0) As String
  Dim resultDate As Date
  resultDate = DateAdd("d", -DaysBack, DateAdd("yyyy", -YearsBack, baseDate))
  DateBefore1900 = Format(resultDate, "dd.mm.yyyy")
End Function

Что нужно сделать с этим кодом? Это VBA? Куда его вставить?
Я сделал таблицу расчёта дат возможного рождения по возрастам в датируемых документах, и она даже работает с датами до 1900 г., но приходится вычитать из результата 1900 что неудобно. Например 1757 г. отображается как 3657 г.
И мне нужно вставить эту таблицу на html страницу. Это надо сразу писать код на html или можно как то экспортировать таблицу на страницу?
Главное - она должна позволять вновь вводить данные в исходно пустую таблицу и получать результат при каждом открытии страницы.
Изменено: Sanja - 21.11.2025 15:29:57 (Код оформляется тэгом <...>)
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
для офис 2016 скорректировала код
Ура! Работает! Огромное спасибо.
Но только в вашем файле. Таблица, вставленная в другой файл при обновлении - сбой инициализации источника данных!
Можно ли редактировать эту таблицу. Я не о данных, а например как-то её изменять, переименовывать столбцы?
Изменено: shegal - 25.10.2025 12:42:55
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
В столбце "Date" будет выведен результат выполнения кода после обновления Запроса. Как обновить запрос:Перейдите на вкладку Данные (Data) в ленте инструментов.Нажмите на кнопку Обновить всё (Refresh All)
Почему-то не работает, как ни бился. Exel 2016 32 разр. При нажатии "Обновить всё" говорит: "Элемент с тем же ключом уже был добавлен", и ничего не меняется.
Подключения к книге: Имя-   Запрос - Dates
Может надо как-то подключить какой-то источник?
Изменено: shegal - 14.10.2025 21:06:32
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
Здравствуйте!дата до 01.01.1900 не может быть распознана как дата в Excel, поэтому выведены даты в текстовом формате pqКод ? 12345678910let    f=(x)=>((a)=>Date.AddDays(Date.AddMonths(Date.AddYears(a,x[Years]??0),x[Months]??0),x[Days]??0))     (Date.From(x[Date_start])),    from = Excel.CurrentWorkbook(){[Name="Dates"]}[Content],    rem=Table.RemoveColumns(from,"Date"),    add=Table.AddColumn(rem,"Date",f),    tr=Table.TransformColumns(add,{{"Date_start",(x)=>Date.ToText(Date.From(x),"dd.MM.yyyy")},                                   {"Date",(x)=>Date.ToText(x,"dd.MM.yyyy")}})in    tr

Прикрепленные файлы
Даты.xlsx  (17.01 КБ)
Чудесно! Посчитано всё идеально. Но куда вставить этот код в Эксел, и можно ли вставить например на html страницу? И как сделать это работающим в Эксел?
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
У вас хотелки всё увеличиваются и увеличиваются.  А, что конкретно нужно - непонятно.
Я же сформулировал задачу.
Вычисление календарного интервала возможного рождения по возрасту на заданный месяц (в общем виде, для любого месяца).
И более сложный вариант - по заданному периоду или дате регистрации возраста.

Вычисление нижней границы - задача решена.
А с верхней проблема.
Изменено: shegal - 11.10.2025 11:34:07
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
=ДАТАМЕС(A21; -1)
Тогда вторая задача.
Известно что возраст ребенка в июне составляет 1 полный мес.
Когда он мог родиться?
Ответ от 2 апреля до 31 мая!
А какой формулой вычитать верхнюю границу этого диапазона, несмотря на то что в июне 30 дней?

Какая м.б. формула для общего случая?
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
1. При смещении на месяц назад от даты
A21=31.05.1993
ДАТА(ГОД(A21);МЕСЯЦ(A21)-1;ДЕНЬ(A21)) = 01.05.1993

Дата 31 мая месяц назад. Какая формула позволяет получить дату 30 апреля?
Как избежать переброски 31 дня в разряд месяца из 30 дней?

Задача: Известно что возраст ребенка в мае 1 мес.
Когда он мог родиться?
Ответ от 2 марта (это не ошибка!) до 30 апреля!
А какой формулой вычитать верхнюю границу этого диапазона, несмотря на то что в мае 31 день?

2.
Цитата
написал:
shegal  написал:Каким образом выполнять операции  датами до 1900 года?Excel не может работать с датами до 1900 года, эти расчеты можно перевести в VBA, где возможно работать с отрицательными (до 1900 года) датами, а также корректно учитывается, что в 1900 году 365 дней, а не 366
А VBA учитывает календарь до 1900г?

3. Есть ли какие-либо формулы, учитывающие сдвиг календаря в России 31 янв на 13 фев  1918 г?
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Цитата
написал:
1. сколько дней в году по мнению Эксел? ровно столько сколько в календаре
спасибо! А -12 дней 1918 г, видимо, не учитывается.
сколько дней в году считает эксел?, формула вычисления заданной даты определённое количество лет и дней назад
 
Почему:
15.05.2025 - 10*365 = 18.05.2015 ?
15.05.2025 - 15.05.1925 = 36525 (365*10+25) ?
15.05.2925 - 15.05.1925 = 365243 (365*1000+243) ?

1. сколько дней в году по мнению Эксел?

2. По какой формуле корректно вычислить заданную дату определённое количество лет и дней назад?
Например: 15 мая 2025 г 100 лет назад минус 1 день должно получиться 14 мая 1925 г!!!
Экселу, похоже, не справиться  этой задачей!

3. Каким образом выполнять операции  датами до 1900 года?
Страницы: 1
Наверх