Формула Google Sheet для проверки соответствия номеров недель (5-недельный месяц)

У меня есть таблица Google Sheet : enter image description here

SourceSheet Google Sheet (источник) доступен: SourceSheet


Я пытаюсь создать формулу на другом листе , которая проверяет каждую строку (в исходном листе выше): D10, D11, D12, D13 и т. д. Эти ячейки содержат текущую дату (день). Например 3 и 8 января.

  • Проверяю, не пуста ли ячейка D. Если нет, продолжаю.
  • Проверяю числа в этой ячейке (D10, D11, D12, ...)[дата] соответствует номеру проверенного столбца: I, J, K, L, M. Таким образом, I — 1-й столбец, J 2-й столбец, K 3-й, L 4-й, М 5-й. Эти столбцы представляют одну из 5 недель текущего месяца, если месяц разделить на 5 (а не на 4 недели).
  • Если день (D10, D11, D12 или другой) правильно соответствует номеру недели, проверяю следующую строку. Например, 3 ( D10 ) находится на 1-й неделе, поэтому правильно указано в 1-м столбце I10.
  • Если день (D10, D11 или другой) не соответствует номеру недели (номер столбца). Например, D10 равен 3, а второй столбец отмечен 1 в J10 . Это ошибка, и формула возвращает 1 . Если какой-либо из столбцов ( I:M ) содержит какое-то другое значение вместо 1 , формула возвращает 1.
  • Если какая-либо из строк (день) не соответствует номеру столбца (неделя), формула возвращает 1 и завершает работу. При отсутствии ошибок формула возвращает "".

Предполагается, что каждый месяц разделен на 5 недель. Не 4 недели. Например, январь разделен на 5 недель: enter image description here

1 неделя — с 1 по 7. 2 неделя — с 8 по 14. 3 неделя — с 15 по 21. 4 неделя — с 22 по 28. 5 неделя — с 21 по 31.


Код:

=IFERROR(IF(ARRAYFORMULA(IF(AND(NOT(ISBLANK(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1VW5d5Hx7BHu9SqXEKjHIti4a6758naDRBahhBDekhFI/edit?usp=drive_link", "Sheet1!D10:D200"))), INT(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1VW5d5Hx7BHu9SqXEKjHIti4a6758naDRBahhBDekhFI/edit?usp=drive_link", "Sheet1!D10:D200")/7)+1<>MATCH(1, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1VW5d5Hx7BHu9SqXEKjHIti4a6758naDRBahhBDekhFI/edit?usp=drive_link", "Sheet1!I10:M10"), 0)), 1, ""))<>"", 1, ""), "")

Не работает. Ожидаемый мной результат: если обнаружена одна ошибка (первая ошибка), то вся формула возвращает только 1 , и она печатается в моей ячейке как есть. Если во всех строках нет ошибок диапазоне, то формула возвращает только «» один раз и печатает в ячейке как есть. Можете помочь?


Ответы (0 шт):