Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разбивка периода дат по дням в каждой ячейке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Разбивка периода дат по дням в каждой ячейке
Ums Дата: Понедельник, 02.11.2026, 19:36 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый вечер! Прошу помощи для настройки периодов дат производства работ в строительстве для разбивки по дням и автоматического заполнения журналов.
Не уверен, что вообще реально то, что я хочу, но вдруг вы мне сможете помочь)
Заранее спасибо!
К сообщению приложен файл: 5144626.png (45.0 Kb) · 7919581.png (6.0 Kb)
 
Ответить
СообщениеДобрый вечер! Прошу помощи для настройки периодов дат производства работ в строительстве для разбивки по дням и автоматического заполнения журналов.
Не уверен, что вообще реально то, что я хочу, но вдруг вы мне сможете помочь)
Заранее спасибо!

Автор - Ums
Дата добавления - 02.11.2026 в 19:36
Pelena Дата: Понедельник, 02.11.2026, 19:41 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19651
Репутация: 4721 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
На картинках не очень удобно писать формулы. Приложите файл Excel c примером


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
На картинках не очень удобно писать формулы. Приложите файл Excel c примером

Автор - Pelena
Дата добавления - 02.11.2026 в 19:41
i691198 Дата: Понедельник, 02.11.2026, 20:15 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 496
Репутация: 152 ±
Замечаний: 0% ±

2016
Сделать это можно. Для разных версий эксель реализация может значительно отличаться. Уточните для какой версии это нужно сделать.
 
Ответить
СообщениеСделать это можно. Для разных версий эксель реализация может значительно отличаться. Уточните для какой версии это нужно сделать.

Автор - i691198
Дата добавления - 02.11.2026 в 20:15
Ums Дата: Понедельник, 02.11.2026, 20:54 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
К сообщению приложен файл: tablica_rabot.xlsx (11.0 Kb)
 
Ответить
СообщениеExcel 2019

Автор - Ums
Дата добавления - 02.11.2026 в 20:54
i691198 Дата: Понедельник, 02.11.2026, 21:47 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 496
Репутация: 152 ±
Замечаний: 0% ±

2016
Посмотрите вариант в файле.
К сообщению приложен файл: tablica_rabot_2.xlsx (13.6 Kb)
 
Ответить
СообщениеПосмотрите вариант в файле.

Автор - i691198
Дата добавления - 02.11.2026 в 21:47
DrMini Дата: Вторник, 03.11.2026, 06:08 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2196
Репутация: 394 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Здравствуйте Ums.
Как вариант.
К сообщению приложен файл: tablica_rabot3.xlsx (15.2 Kb)
 
Ответить
СообщениеЗдравствуйте Ums.
Как вариант.

Автор - DrMini
Дата добавления - 03.11.2026 в 06:08
Nic70y Дата: Вторник, 03.11.2026, 09:01 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9308
Репутация: 2523 ±
Замечаний: 0% ±

Excel 2010
еще вариант
К сообщению приложен файл: tablica_rabot18.xlsx (12.0 Kb)
 
Ответить
Сообщениееще вариант

Автор - Nic70y
Дата добавления - 03.11.2026 в 09:01
Ums Дата: Вторник, 03.11.2026, 09:51 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Всем большое спасибо! Для меня, как для строителя, это конечно космические технологии))
Все варианты рабочие, сейчас буду пробовать их подгонять под свои оригинальные таблицы.
Последний вопрос - а автоматическое объединение ячеек бывает? Вот как в прикрепленном файле
К сообщению приложен файл: 5916936.png (25.6 Kb)
 
Ответить
СообщениеВсем большое спасибо! Для меня, как для строителя, это конечно космические технологии))
Все варианты рабочие, сейчас буду пробовать их подгонять под свои оригинальные таблицы.
Последний вопрос - а автоматическое объединение ячеек бывает? Вот как в прикрепленном файле

Автор - Ums
Дата добавления - 03.11.2026 в 09:51
DrMini Дата: Вторник, 03.11.2026, 11:32 | Сообщение № 9
Группа: Модераторы
Ранг: Старожил
Сообщений: 2196
Репутация: 394 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
а автоматическое объединение ячеек бывает?

Думаю без VBA не получится.
 
Ответить
Сообщение
а автоматическое объединение ячеек бывает?

Думаю без VBA не получится.

Автор - DrMini
Дата добавления - 03.11.2026 в 11:32
Nic70y Дата: Вторник, 03.11.2026, 14:58 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 9308
Репутация: 2523 ±
Замечаний: 0% ±

Excel 2010
без VBA
ну прям как на картинке думаю тоже,
а если примерно, то можно
К сообщению приложен файл: tablica_rabot19.xlsx (14.4 Kb)
 
Ответить
Сообщение
без VBA
ну прям как на картинке думаю тоже,
а если примерно, то можно

Автор - Nic70y
Дата добавления - 03.11.2026 в 14:58
Ums Дата: Вторник, 03.11.2026, 16:01 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, Спасибо, очень круто! Только при разных работах в один день идёт сбой нумерации и пропадают виды работ в этот же день. Это можно как-то поправить?
К сообщению приложен файл: 5096462.png (99.4 Kb)
 
Ответить
СообщениеNic70y, Спасибо, очень круто! Только при разных работах в один день идёт сбой нумерации и пропадают виды работ в этот же день. Это можно как-то поправить?

Автор - Ums
Дата добавления - 03.11.2026 в 16:01
Ums Дата: Вторник, 03.11.2026, 16:08 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, сам файл тоже прикрепляю
К сообщению приложен файл: aosr.xlsx (23.5 Kb)
 
Ответить
СообщениеNic70y, сам файл тоже прикрепляю

Автор - Ums
Дата добавления - 03.11.2026 в 16:08
Gustav Дата: Вторник, 03.11.2026, 18:57 | Сообщение № 13
Группа: Админы
Ранг: Участник клуба
Сообщений: 2895
Репутация: 1226 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Поучаствую. Уже по традиции "вне конкурса" - формула для Гугл-таблицы:
[vba]
Код
=LET(
  исходные_диапазоны_и_предварительные_вычисления;;
  fromRange; 'Лист1'!B5:B;
  workRange; 'Лист1'!D5:D;
  dateMin;   MIN('Лист1'!B:C);
  dateMax;   MAX('Лист1'!B:C);

  сгенерированный_столбец_ДАТ_день_за_днем;;
  dateList;  ARRAYFORMULA(TO_DATE(SEQUENCE(dateMax - dateMin + 1; 1; dateMin)));

  сгенерированный_столбец_НОМЕРОВ_ПП_сплошной;;
  idxList;   MAP(dateList; LAMBDA(d; MATCH(d; fromRange)));
  shifted;   VSTACK(0; ARRAY_CONSTRAIN(idxList; ROWS(idxList) - 1; 1));

  сгенерированный_столбец_НОМЕРОВ_ПП_разреженный;;
  sparse;    MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; "")));

  сгенерированный_столбец_РАБОТ_сплошной;;
  workList;  MAP(idxList; LAMBDA(idx; INDEX(workRange; idx)));

  финальная_сборка_массива_из_трех_столбцов;;
  HSTACK(sparse; dateList; workList)
)
[/vba]
Пользуясь случаем, с удовольствием представляю подсмотренный мной у ИИ способ комментирования формул. "Комментарии" на самом деле представляют собой переменные (точнее, константы) внутри функции LET (поэтому вместо пробелов в строке символы подчеркивания), с назаченными им всем пустым значениям (null), о чем напоминают две подряд идущие точки с запятой, завершающие строку такого "комментария".

P.S. И обратите внимание на логику создания разреженного массива:
[vba]
Код
sparse; MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; "")));
[/vba]
Если оставить формулу в таком виде, то при попытке перемещаться по заполненным ячейкам с помощью Ctrl + ↓, курсор перепрыгнет все визуально пустые ячейки и улетит в самый конец таблицы. Так происходит потому, что строка нулевой длины "" воспринимается системой как текстовое значение.

Чтобы навигация через Ctrl работала корректно (курсор останавливался на следующем числе), замените явную пустую строку "" на абсолютную пустоту — просто оставьте аргумент функции пустым:
[vba]
Код
sparse; MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; )));
[/vba]
Этот трюк уникален для Google Таблиц. В Excel, к сожалению, такой пропуск аргумента автоматически превратит пустоту в видимый ноль (0).


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеПоучаствую. Уже по традиции "вне конкурса" - формула для Гугл-таблицы:
[vba]
Код
=LET(
  исходные_диапазоны_и_предварительные_вычисления;;
  fromRange; 'Лист1'!B5:B;
  workRange; 'Лист1'!D5:D;
  dateMin;   MIN('Лист1'!B:C);
  dateMax;   MAX('Лист1'!B:C);

  сгенерированный_столбец_ДАТ_день_за_днем;;
  dateList;  ARRAYFORMULA(TO_DATE(SEQUENCE(dateMax - dateMin + 1; 1; dateMin)));

  сгенерированный_столбец_НОМЕРОВ_ПП_сплошной;;
  idxList;   MAP(dateList; LAMBDA(d; MATCH(d; fromRange)));
  shifted;   VSTACK(0; ARRAY_CONSTRAIN(idxList; ROWS(idxList) - 1; 1));

  сгенерированный_столбец_НОМЕРОВ_ПП_разреженный;;
  sparse;    MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; "")));

  сгенерированный_столбец_РАБОТ_сплошной;;
  workList;  MAP(idxList; LAMBDA(idx; INDEX(workRange; idx)));

  финальная_сборка_массива_из_трех_столбцов;;
  HSTACK(sparse; dateList; workList)
)
[/vba]
Пользуясь случаем, с удовольствием представляю подсмотренный мной у ИИ способ комментирования формул. "Комментарии" на самом деле представляют собой переменные (точнее, константы) внутри функции LET (поэтому вместо пробелов в строке символы подчеркивания), с назаченными им всем пустым значениям (null), о чем напоминают две подряд идущие точки с запятой, завершающие строку такого "комментария".

P.S. И обратите внимание на логику создания разреженного массива:
[vba]
Код
sparse; MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; "")));
[/vba]
Если оставить формулу в таком виде, то при попытке перемещаться по заполненным ячейкам с помощью Ctrl + ↓, курсор перепрыгнет все визуально пустые ячейки и улетит в самый конец таблицы. Так происходит потому, что строка нулевой длины "" воспринимается системой как текстовое значение.

Чтобы навигация через Ctrl работала корректно (курсор останавливался на следующем числе), замените явную пустую строку "" на абсолютную пустоту — просто оставьте аргумент функции пустым:
[vba]
Код
sparse; MAP(idxList; shifted; LAMBDA(curr; prev; IF(curr <> prev; curr; )));
[/vba]
Этот трюк уникален для Google Таблиц. В Excel, к сожалению, такой пропуск аргумента автоматически превратит пустоту в видимый ноль (0).

Автор - Gustav
Дата добавления - 03.11.2026 в 18:57
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!