Об этой статье
Эту страницу просматривали 9386 раз.
Wikimedia Foundation. 2010.
Как прибавить (вычесть) несколько недель к дате
Когда требуется прибавить (вычесть) несколько недель к определенной дате, Вы можете воспользоваться теми же формулами, что и раньше. Просто нужно умножить количество недель на 7:
-
Прибавляем N недель к дате в Excel:
= A2 + N недель * 7
Например, чтобы прибавить 3 недели к дате в ячейке А2, используйте следующую формулу:
=A2+3*7
-
Вычитаем N недель из даты в Excel:
= А2 – N недель * 7
Чтобы вычесть 2 недели из сегодняшней даты, используйте эту формулу:
=СЕГОДНЯ()-2*7=TODAY()-2*7
Спортивный
Календарная арифметика – это дисциплина на чемпионатах мира по ментальной арифметике , которые проводятся каждые два года с 2004 года . Максимальное количество дней недели для дат с 16:00 до 21:00 должно быть определено в течение одной минуты. Оценивается лучшая из двух попыток.
год | Фамилия | страна | Результат |
---|---|---|---|
2004 г. | Маттиас Кессельшлегер | Германия | 33 |
2006 г. | Маттиас Кессельшлегер | Германия | 35 год |
2008 г. | Ян ван Конингсвельд | Германия | 40 |
2010 г. | Юсниер Виера | Куба | 48 |
2012 г. | Мягмарсурен Тууруул | Монголия | 57 год |
2014 г. | Марк Джорнет Санс | Испания | 64 |
2016 г. | Георгий Георгиев | Болгария | 66 |
2018 г. | Марк Джорнет Санс | Испания | 71 |
Мировой рекорд со скоростью 140 данных в минуту был установлен в 2018 году Юсниером Виерой из США (ранее Куба).
Индивидуальные доказательства
- ↑ См. Кристиан Целлер: Основные задачи календарного расчета решены по-новому и упрощенно. В: Württembergische Vierteljahrshefte für Landesgeschichte 5 (1882), 314f.
- ↑ Дитмар Херрманн: Algorithmen Arbeitsbuch, 1-е издание, 1992 г., Addison-Wesley, ISBN 3-89319-481-9
- ↑ Георг Глезер: Математический инструментарий. Приложения в природе и технике. 3. Издание. Elsevier, Мюнхен, 2008 г., ISBN 3-8274-1618-3 , см. Стр. 408
- ↑ Льюис Кэрролл, «Чтобы найти день недели для любой заданной даты», в Nature, том 35, 31 марта 1887 г., стр. 517
- ↑ Мартин Гарднер: Математический карнавал, Глава: «Уловки быстрого калькулятора»
- ↑ https://stat.ethz.ch/R-manual/R-devel/library/base/html/as.POSIXlt.html
- ↑ https://support.microsoft.com/en-us/office/date-systems-in-excel-e7fe7167-48a9-4b96-bb53-5612a800b487
- ↑ https://docs.microsoft.com/en-us/office/troubleshoot/excel/wrongly-assumes-1900-is-leap-year
- ↑ https://support.sas.com/publishing/pubcat/chaps/59411.pdf
- ↑ https://www.sas.com/de_ch/training/home/expertentipps/expertentipp-berechnen-von-datumswerte-in-vergangenheit-und-zukunft.html
- ↑ http://www.recordholder.org/de/events/worldcup/
- ↑ http://www.recordholder.org/en/records/dates.html
Как отличить обычные даты Excel от «текстовых дат»
Импортированные данные (или данные, введенные неправильно) могут выглядеть как обычные даты Excel, но они не ведут себя так, как выглядят. Microsoft Excel обрабатывает такие записи как текст. Поэтому вы не сможете правильно отсортировать таблицу в хронологическом порядке, а также использовать эти «неправильные даты» в формулах, сводных таблицах, диаграммах или любом другом инструменте Excel, который работает с временем.
Сначала давайте изучим несколько признаков, которые могут помочь определить, записана в ячейке датировка либо текст.
Даты |
Текстовые значения |
· Выровнено по правому краю. · Указан формат даты в поле «Числовой формат» на вкладке «Главная » — «Число» . |
· По левому краю по умолчанию. · Общий формат отображается в поле «Число» на вкладке «Главная» — «Число». ·В строке формул может быть виден апостроф перед содержимым ячейки. |
Их можно легко распознать, немного расширив столбцы, выделив один из них, выбрав команду Формат ► Ячейки ► Выравнивание (Format ► Cells ► Alignment) и для параметра По горизонтали (Horizontal) выбрав значение Общий (General) (это вид ячеек по умолчанию). Щелкните кнопку ОК и внимательно просмотрите на таблицу. Если какие-либо значения не выровнены по правому краю, значит Excel не считает их датами.
Формат «Дата – Время».
Если нужно показать и дату, и время, вы можете просто объединить в единое целое те форматы, о которых мы говорили выше.
На скриншоте ниже вы видите несколько вариантов, как могут выглядеть ваши значения:
Ничего сложного: сначала описываем дату, затем – время.
Получать рабочие часы между датами собственного расписания
Чтобы вычислить часы работы между двумя датами с настраиваемым расписанием, вы можете использовать формулу, основанную на функциях ДЕНЬНЕД и ВЫБОР.
В показанном примере формула в F5:
Который возвращает 32 часа, основанный на пользовательском расписании, где 8 часов работают в Пн, Ср и Пт, а 4 часа — в Пт и Вт.
Примечание. Это формула массива, которая должна вводиться с помощью Control + Shift + Enter.
По сути, эта формула использует функцию ДЕНЬНЕД для определения дня недели (например, понедельник, вторник и т. д.) Для каждого дня между двумя указанными датами.
ДЕНЬНЕД возвращает число от 1 до 7, соответствующее конкретному дню недели. С настройками по умолчанию: 1 = воскресенье и 7 = суббота, поэтому, 2 = понедельник, 6 = пятница и так далее.
Хитрость этой формулы заключается в создании массива дат, которые вы можете использовать в функции ДЕНЬНЕД. Это делается с помощью СТРОКА с ДВССЫЛ следующим образом:
ДВССЫЛ позволяет связанным датам «» 42464: 42470 «» интерпретироваться как номера строк. Затем функция СТРОКА возвращает массив вроде этого:
Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:
Эти числа соответствуют дню недели каждой даты.
Этот массив затем передается функции ВЫБОР в качестве «номера индекса», который был сконфигурирован с 7 значениями:
Поскольку мы даем ВЫБОР более чем одно значение индекса, он возвращает более одного результата в массиве следующим образом:
Эти цифры соответствуют часам, которые выполнялись каждый день с даты 1 по дату2.
Наконец, чтобы получить итоговое значение, нам просто нужно обернуть ВЫБОР в СУММ и ввести формулу массива.
В этом примере итоговый результат составляет 32 часа.
Примечание: вы могли бы подумать, что вы могли бы использовать СУММПРОИЗВ вместо СУММ, чтобы избежать синтаксиса массива, но он не работает; Вам все равно придется использовать CSE. Я знаю, что причина заключается в использовании ДВССЫЛ с СТРОКА для построения массива значений индекса, но не знаю, почему это требует CSE.
Синтаксис
Аргументы
Обязательный аргумент. Значение аргумента год может содержать от одной до четырех цифр. Excel интерпретирует аргумент год в соответствии с используемой системой дат, используемой на вашем компьютере. По умолчанию в Microsoft Excel для Windows используется система дат 1900. Во избежание непредвиденных результатов мы рекомендуем использовать в качестве аргумента год четыре цифры. Например, значение «07» может интерпретироваться как «1907» или «2007». Четырехзначное обозначение года предотвращает возникновение путаницы.
- Если аргумент год находится в диапазоне от 0 (нуль) до 1899 (включительно), Excel для вычисления года прибавляет это значение к числу 1900. Например, формула возвращает 2 января 2008 (1900+108) года.
- Если аргумент год находится в диапазоне от 1900 до 9999 (включительно), Excel использует это значение как год. Например, формула возвращает 2 января 2008 года.
- Если значение аргумента год меньше 0 или больше 9999, Microsoft Excel возвращает значение ошибки #ЧИСЛО!.
Обязательный аргумент. Положительное или отрицательное целое число в диапазоне от 1 (январь) до 12 (декабрь), представляющее месяц года.
- Если значение аргумента месяц больше 12, аргумент месяц добавляет число месяцев к первому месяцу указанного года. Например, формула возвращает число, соответствующее 2 февраля 2009 года.
- Если значение аргумента месяц меньше 1, аргумент месяц вычитает значение этого числа месяцев, увеличенное на 1, из первого месяца указанного года. Например, формула возвращает число, соответствующее 2 сентября 2007 года.
Обязательный аргумент. Положительное или отрицательное целое число в диапазоне от 1 до 31, представляющее день месяца.
- Если значение аргумента день больше числа дней в указанном месяце, аргумент день добавляет это число дней к первому дню месяца. Например, формула возвращает число, соответствующее 4 февраля 2008 года.
- Если значение аргумента день меньше 1, аргумент день вычитает значение этого числа дней, увеличенное на 1, из первого дня указанного месяца. Например, формула возвращает число, соответствующее 16 декабря 2007 года.
Замечания
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. Дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней.
Функция интервал в excel
Pers.narod.ru. Обучение. Excel: выбор номера интервала, в который попадает значение и подсчёт количества значений в интервале
Довольно часто в Excel требуется определить, в какой из нескольких числовых интервалов попадает некоторое числовое значение. Это бывает нужно как в численных методах, так и в финансовых или естественнонаучных расчётах. Давайте решим эту задачу корректно, начав с простейшего примера. В ячейках A1:A4 набраны 4 числа, показывающие границы интервалов, например, 1 ; 2 ; 3 ; 4 , разумеется, числа могут быть любыми другими, но они должны быть упорядочены по возрастанию, иначе потом не будет работать поиск. Сортировка в Excel делается элементарно (меню Данные , пункт Сортировка ), так что выполнения этого условия нетрудно добиться.
В ячейке B1 набрано число, которое мы будем проверять на попадание в интервалы, например, значение 1,5 (полтора). Элементарно определить «карман», в который попадает числовое значение, можно с помощью стандартной функции ПОИСКПОЗ :
Третий параметр функции здесь равен единице, это означает, что ПОИСКПОЗ находит наибольшее значение, которое меньше либо равно, чем искомое значение из ячейки B1 , то есть, мы берём левые границы интервалов. В случае, если нужны правые границы, следует здесь и далее упорядочить данные по убыванию и везде ставить в ПОИСКПОЗ третий параметр, равный -1 .
У кода минимум два недостатка — если величина из B1 меньше границы самого левого интервала, выведется системное сообщение #Н/Д («не найдено»), кроме того, если искомая величина больше последней из границ интервала, Excel решит, что величина всё равно попадает в последний интервал, что неприемлемо.
Избавляемся от первого недостатка (теперь Excel пишет «Неверная точка» для слишком маленьких чисел):
Избавляемся от второго недостатка, предусмотрев случай, когда ПОИСКПОЗ дал последний интервал, но при этом значение в ячейке B1 больше, чем значение в последней ячейке интервала. В этом случае продублируется сообщение «Неверная точка»:
Формула здесь и далее показана с разрывом строки, вставить её в это не помешает.
Для других данных изменится только интервал, но ещё нужно будет не забыть про отдельно стоящую ссылку на A4 , правую границу последнего интервала. Давайте ещё немного усложним формулу, чтобы действительно менять только интервал.
Это работает вполне приемлемо.
Наконец, часто нужно из выборки получить количество чисел, попадающих в некоторый интервал. Эта задача намного проще, и есть масса вариантов её решения.
Для того, чтобы определить количество числовых значений из диапазона A1:A10 , находящихся, например, в интервале от 2,5 до 6,15 включительно, можно использовать любую из семи представленных ниже формул:
Последние четыре формулы являются формулами массива, их ввод необходимо завершать комбинацией клавиш Ctrl+Shift+Enter .
Формулы для расчета сроков возраста трудового стажа в Excel
Самый простой способ вычисления возраста или трудового стажа реализуется с помощью функции =РАЗНДАТ(). Эта таинственная функция долгое время не была описана в справке Excel. Более того ее нет ни в одном списке формул, поэтом чтобы использовать эту функцию необходимо вводить только вручную в строку формул или непосредственно в саму ячейку. Несмотря на это она доступна еще с 2000-го года версий Excel и прекрасно справляется со своей основной задачей.
Примеры формул с использованием функции РАЗНДАТ в Excel
Благодаря функции РАЗНДАТ легко выполнить сложные расчеты для сравнения дат. Ведь главная сложность заключается в, том что раз в 4 года наступает високосный год и тогда количество дней в году изменяется с 365 на 366.
Чтобы вычислить возраст от даты рождения с помощью функции РАЗНДАТ используйте формулу подобную на эту:
Для расчета трудового стажа примените такую формулу:
Функция РАЗНДАТ возвращает количество дней, месяцев или лет прошедших на протяжении периода времени между двумя датами. Для работы с функцией следует заполнить 3 обязательных аргумента:
- Начальная дата.
- Конечная дата.
- Формат даты – в какой единице измерения времени посчитать и отобразить разницу между начальной и конечной датой («y» – год, «m» – месяц, «d» – день и др.).
Список всех форматов отображения разницы между датами приведен в следующей таблице:
№ п/п | Код формата | Возвращаемая единица измерения времени |
1 | «y» | Количество полных лет в заданном периоде. |
2 | «m» | Количество полных месяцев между двумя датами. |
3 | «d» | Количество дней. |
4 | «md» | Разница в остатке дней между начальной и конечной датой без учета лет и месяцев. |
5 | «ym» | Количество оставшихся месяцев между датами без учета лет и дней. |
6 | «yd» | Разница в остатке дней между начальной и конечной датой без учета только лет. |
Сразу стоит отметить что 3-тий вариант формата особо не понадобиться так как при обычном математическом вычитании от младшей даты старшей мы получаем тот же результат в днях. Например, 2 способа чтобы узнать сколько прошло дней между двумя датами:
Ведь в Excel, как и во всех других программах, входящих в пакет MS Office, используется система 1900 для нумерации дат. И каждая дата — это число дней, прошедших от 01.01.1900г.
Особое внимание требуют 4-й, 5-й, 6-й коды. Данные коды позволяют получить остатки месяцев неполных лет и остатки дней с неполных месяцев
Их принцип действия легче показать на примере чем описать. Обратите внимание как ведет себя функция с этими кодами в ее третьем аргументе.
Для расчета точного срока беременности от даты зачатия до даты рождения ребенка лучше применить такую формулу:
А чтобы рассчитать дату зачатия по родам нам не нужно прибегать к функции РАЗНДАТ:
Пример более сложной формулы для РАЗНДАТ в комбинации с другими функциями для преобразования дробной части числа лет в месяцы и дни:
Как посчитать сколько пройдено неполных лет между двумя датами в Excel?
Существуют и другие способы создания формул для вычисления разницы между датами без использования функции РАЗНДАТ:
Теперь если нам нужно учитывать и неполные года эксплуатации автомобиля нам нужно использовать другую формулу:
Как видно на примере функция РАЗНДАТ не решает любые вычислительные задачи с датами. Иногда следует прибегать к другим узконаправленным функциям.
Как преобразовать название месяца в число
Теперь рассмотрим противоположную по логике задачу. Существуют две функции Excel, которые могут помочь вам преобразовать названия месяцев в числа – ДАТАЗНАЧ() и МЕСЯЦ(). Функция Excel ДАТАЗНАЧ() преобразует дату, сохраненную в виде текста, в порядковый номер, который Microsoft Excel распознает как дату. Затем функция МЕСЯЦ() извлекает из неё номер месяца.
Полная формула выглядит следующим образом:
Где A2 – это ячейка, содержащая название месяца, которое вы хотите превратить в число.
Конструкция
«1-«&
добавляется к значению ячейки, чтобы дать понять Экселю, что это дата. Иначе говоря, если вы в ячейку руками введёте, к примеру,
1-февраль
или
1-фев
то программа определит вашу информацию как 1 февраля текущего года, дополнит недостающее содержимое в ячейке и применит формат даты для её отображения.
То же самое происходит и в формуле ДАТАЗНАЧ, когда мы к единице дописываем имя месяца с дефисом
Единственное важное условие здесь – нужно использовать именительный падеж, как это принято по умолчанию в Windows
Однако, достаточно даже первых трёх букв месяца, чтобы не заморачиваться с падежами .
Так тоже работает.
Как Excel обрабатывает время
Программа Excel «воспринимает» дату и время как обычное число. Электронная таблица преобразует подобные данные, приравнивая сутки к единице. В результате значение времени представляет собой долю от единицы. К примеру, 12.00 – это 0,5.
Значение даты электронная таблица преобразует в число, равное количеству дней от 1 января 1900 года (так решили разработчики) до заданной даты. Например, при преобразовании даты 13.04.1987 получается число 31880. То есть от 1.01.1900 прошло 31 880 дней.
Этот принцип лежит в основе расчетов временных данных. Чтобы найти количество дней между двумя датами, достаточно от более позднего временного периода отнять более ранний.
Пример функции ДАТА
Построение значение даты, составляя его из отдельных элементов-чисел.
Синтаксис: год; месяц, день.
Все аргументы обязательные. Их можно задать числами или ссылками на ячейки с соответствующими числовыми данными: для года – от 1900 до 9999; для месяца – от 1 до 12; для дня – от 1 до 31.
Если для аргумента «День» задать большее число (чем количество дней в указанном месяце), то лишние дни перейдут на следующий месяц. Например, указав для декабря 32 дня, получим в результате 1 января.
Пример использования функции:
Зададим большее количество дней для июня:
Примеры использования в качестве аргументов ссылок на ячейки:
Функция РАЗНДАТ в Excel
Возвращает разницу между двумя датами.
- начальная дата;
- конечная дата;
- код, обозначающий единицы подсчета (дни, месяцы, годы и др.).
Способы измерения интервалов между заданными датами:
- для отображения результата в днях – «d»;
- в месяцах – «m»;
- в годах – «y»;
- в месяцах без учета лет – «ym»;
- в днях без учета месяцев и лет – «md»;
- в днях без учета лет – «yd».
В некоторых версиях Excel при использовании последних двух аргументов («md», «yd») функция может выдать ошибочное значение. Лучше применять альтернативные формулы.
Примеры действия функции РАЗНДАТ:
В версии Excel 2007 данной функции нет в справочнике, но она работает. Хотя результаты лучше проверять, т.к. возможны огрехи.
Функция ГОД в Excel
Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.
Пример использования функции ГОД:
Функция МЕСЯЦ в Excel: пример
Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.
Примеры использования функции МЕСЯЦ:
Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel
Возвращает день как целое число (от 1 до 31) для заданной в числовом формате даты. Аргумент – дата дня, который нужно найти, в числовом формате.
Чтобы вернуть порядковый номер дня недели для указанной даты, можно применить функцию ДЕНЬНЕД:
По умолчанию функция считает воскресенье первым днем недели.
Для отображения порядкового номера недели для указанной даты применяется функция НОМНЕДЕЛИ:
Дата 24.05.2015 приходится на 22 неделю в году. Неделя начинается с воскресенья (по умолчанию).
В качестве второго аргумента указана цифра 2. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).
Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().