Excel возвращает несколько значений для диапазона дат с суммированием отдельных элементов - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть противоположный запрос для этого вопроса:

Excel - Поиск для возврата нескольких значений в диапазоне дат

Решение дано для вышеуказанного запроса вследующая ссылка также:

https://www.get -digital-help.com / 2009/12/13 / формула для сопоставления даты в пределах диапазона дат вexcel /

Но мой запрос заключается в том, чтобы для нескольких диапазонов дат найти общее количество заказов на одну дату.

Я хочу построить календарь, который позволит мне определить, сколько у меня бронирований на определенный день.Все заказы на 1 или более предметов, и мне нужно общее количество предметов, которые будут там за один день, за календарный диапазон дат.

Date range and total items staying for that date range, with calendar

В календаре справа я хочу добавить общее количество предметов, которые будут храниться в течение указанной даты.

Так, в примере, 26 декабря, всего будет 6 предметов.там.И на 5 декабря есть только 1, в то время как на 1 декабря нет элементов.

Хотелось бы, чтобы эти числа были в календаре справа.

Я пробовал использовать VLOOKUP, LOOKUP, ИНДЕКС и МАТЧ.Кроме того, пробовал упомянутый SUMPRODUCT, но, похоже, он дает один диапазон и число для этого диапазона, но не несколько значений в диапазоне дат.

https://chandoo.org/wp/range-lookup-excel/

Формулы, которые я пробовал:на 26 декабря дата:

=(LOOKUP(H10,((Table1[Date From]):(Table1[Date To])),Table1[Items from]))

=SUMIF(Table1[Item],(LOOKUP(2,1/(Table1[Date From]<=H10)/(Table1[Date To]>=H10))))

=INDEX(Table1[Item from],MATCH(H10,LOOKUP(H10,Table1[[Date From]:[Date To]])))

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

26 декабря ( и сохранение вашей исходной структуры )

=SUMIFS(Bookings[[Items]:[Items]],Bookings[[Date From]:[Date From]],"<=" &H10,Bookings[[Date To]:[Date To]],">="&H10)

Обратите внимание, что я использовал структурированную справочную форму с абсолютным адресом, чтобы вы могли по крайней мере заполнить / перетащить строку,без изменения столбцов в таблице.

Если вы хотите сделать вещи еще проще, вы можете заменить ссылку H10 на вычисленную ссылку, но за счет использования OFFSET, который является энергозависимой функцией.

=SUMIFS(Bookings[[Items]:[Items]],Bookings[[Date From]:[Date From]],"<=" &OFFSET(H$1,ROW()-2,0),Bookings[[Date To]:[Date To]],">="&OFFSET(H$1,ROW()-2,0))

Вы также можете создать вычисленную ссылку на ячейку, используя функцию INDEX, которая будет энергонезависимой.

0 голосов
/ 14 декабря 2018

Обновленный ответ с формулами массива

Извините, что не понял ваш первый запрос.

Вы можете использовать следующую формулу массива в "отдельной ячейке"

{= SUM( IF( (E2 >=$B$2:$B$8 ) * (E2<=$C$2:$C$8) ; $A$2:$A$8 ; 0 ))} 

Где столбец e содержит целевые даты, столбцы a, b и c содержат items, from и to.

Эта формула расширяется и копируется в другие ячейки, где e2 будет относительно изменяться для каждой целевой даты.Это легко адаптируется к вашей таблице месяцев.Поместите формулу ниже первой даты, затем разверните ее горизонтально и скопируйте / вставьте в другие строки.

См. Рисунок:

new picture with column dates

Старый ответ

  • Создайте отдельную ячейку с целевой датой.Предположим, $e$1.
  • Создайте на e2 эту формулу: =if( and( $e$1 >= c2 ; $e$1 <= d2 ); a2; 0)
  • Разверните ее и сложите в нижней части.

Извините за формулы на португальском языке (se = if; e = and):

image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...