Страницы: 1
RSS
Суммирование повторяющихся чисел диапазона с условиями.
 
Здравствуйте! Помогите оптимизировать систему. Имеется пропускная система, фиксирующая время заезда и время выезда.

1.) Необходимо сосчитать все числа диапазона, но не складывать вдвойне те, которые повторяются в одной строчке (в приложенном примере, выделил синим цветом):
Дата заездаДата выезда            Апрель Результат
01.04.2021 01.04.2021         01.04.2021          2
01.04.2021 02.04.2021         02.04.2021        1
2.) Необходимо чтобы промежуточные числа тоже считались (в приложенном примере, выделил желтым цветом):
Дата заезда Дата выезда            Апрель Результат
01.04.2021 03.04.2021         01.04.2021          2
01.04.2021 01.04.2021         02.04.2021        1
03.04.2021 03.04.2021         03.04.2021        2

Сейчас есть решение только 1 условия, возможно кто-то подкинет идею по 2 условию.
Пример во вложении.
Заранее спасибо!!! :)  
 
Здравствуйте!
Код
=СУММПРОИЗВ((ОКРВНИЗ(A$2:A$72;1)<=E3)*(ОКРВВЕРХ(B$2:B$72;1)>E3))

*По синим непонятно. Если исключить все пересечения, просуммируется очень мало.

Код
=СУММПРОИЗВ((ОКРВНИЗ(A$2:A$72;1)<=E3)*(ОКРВВЕРХ(B$2:B$72;1)>E3)*((B$2:B$72>A$3:A$73)*(B$3:B$73>A$2:A$72)=0))
Изменено: Светлый - 24.07.2021 20:43:52
 
Код
let
   source =
      Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],

   tableTransformColumns =
      Table.TransformColumns(
         source,
         {
            {"Дата заезда", DateTime.Date, type date},
            {"Дата выезда", DateTime.Date, type date}
         }),

   tableSelectRows =
      Table.SelectRows(
         tableTransformColumns,
         each
            [Дата заезда] <> [Дата выезда]),

   addListDates = 
      Table.AddColumn(
         tableSelectRows,
         "ListDates",
         each
            List.Dates([Дата заезда], Number.From([Дата выезда] - [Дата заезда]) + 1, #duration(1, 0, 0, 0))),

   expandListDates =
      Table.ExpandListColumn(
         addListDates,
         "ListDates"),

   tableGroup =
      Table.Group(
         expandListDates,
            {"ListDates"},
            {{"Количество",
            each
               Table.RowCount(_), Int64.Type}}),

    ListDatesToDates =
      Table.TransformColumnTypes(
         tableGroup,
         {
            {"ListDates", type date}
         })
in
    ListDatesToDates
Изменено: Andrey - 25.07.2021 05:15:46
 
Andrey, Светлый, большое спасибо за ответы!!! :)  
Страницы: 1
Наверх