Функция Excel weeknum возвращает неверную неделю

Вопрос такой же, как в заголовке.

У меня есть ячейка «D4» с датой «09/07/2016». Смежная ячейка имеет формулу «= weeknum (D4,1)». Выход этой функции равен «28». Но в воскресенье-субботу субботу 9 июля не было на 28 неделе – это было на неделе 27.

Я думал, что это может быть связано с субботой / воскресеньем, когда начинается и заканчивается неделя и т. Д., Поэтому я пробовал несколько разных дат с прошлой недели – понедельник 4-го, вторник 5-го, 6-го и т. Д. В каждом случае, «weeknum» возвращает значение «28».

Я только заметил проблему, потому что у меня есть макрос, который использует значение ячейки с номером недели для поиска таблицы, сохраненной нашей командой учетных записей еженедельно. Поскольку они – правильно – сохранили таблицу как «неделю 27», она не сработала. Я изначально предполагал, что команда учетных записей ошибалась, но я проверил онлайн, и они верны.

Как такое могло произойти? Неужели Excel не ошибается, и я, должно быть, допустил какую-то ошибку?

Я знаю, что проблема с Excel не соответствует стандартам ИСО, когда недели 53 и 1 начинаются и заканчиваются, но я не вижу, как это может повлиять на среднюю неделю.

Мне показалось, что проблема может быть связана с форматированием даты в Великобритании и США. Но, конечно же, 7 июня тоже не было на неделе 28.

Все это задокументировано в WEEKNUM .

Для этой функции используются две системы:

Система 1 Неделя, содержащая 1 января, является первой неделей года и пронумерована 1-й неделей.

Система 2 Неделя, содержащая первый четверг года, является первой неделей года и пронумерована как неделя 1. Эта система является методологией, указанной в ISO 8601, которая обычно известна как европейская система нумерации в неделю.

Синтаксис

НОМНЕДЕЛИ (время_в_числовом_формате, [возвращаемый_тип])

 Return_type Week begins on System ... 21 Monday 2 

So =WEEKNUM("09/07/2016",21) рассчитает, как определено в ISO 8601, так как Return_type 21 является единственным с System 2.


ISOWEEKNUM

=ISOWEEKNUM("09/07/2016")

также это сделает.

=ISOWEEKNUM(a2)-1 возвращает правильную неделю для меня, то же самое, что =WEEKNUM(a2,21)-1

  • Как подсчитать конкретные типы символов в Excel
  • excel заменить строку в формуле
  • BITXOR в Excel производит неожиданное значение
  • Автоматическое заполнение RD (дней отдыха) в трекере посещаемости с помощью Excel 2013
  • Переменные названия листов в формуле sumifs excel
  • Проверка данных без именованных диапазонов
  • Если ячейки в пробеле пробела ... затем пробел ... в противном случае CONCATENATE
  • Диапазон дат для уникальных значений в Excel?
  • как разделить значение дохода в строках буксировки в excel
  • Excel, конвертировать данные в один столбец в несколько столбцов
  • Excel: отображение часов более 24 при использовании TIME ()
  • Interesting Posts

    Почему изображение успешно внедряется в электронном письме с .Display, но не .Send?

    импортирование файла excel с большим количеством данных дает 502 ошибочную ошибку шлюза

    Excel VBA – выполнение медленного цикла

    Не удалось установить скрытое свойство, защищенный рабочий лист

    Загрузите созданный файл excel из Rest Controller

    VBA Listbox не обновляется, чтобы отражать новый исходный список при вызове от себя

    Файл Excel Laravel

    В нижней строке цикла удаляется каждая строка в excel, независимо от того, выполнены ли требования If

    Создание Excel SpreadsheetML в коде. (Без Excel!)

    Как узнать, работает ли приложение Excel в режиме редактирования ячейки?

    Невозможно изменить формат даты в Excel

    Как использовать таблицу OpenOffice для получения изображения из файла excel

    множественные условия утверждения vba

    VBA меняет цвет ячейки на основе значения в диапазонах на разных листах

    Как вставить записи в SQL-сервер из Excel

    Давайте будем гением компьютера.