Страницы: 1
RSS
Вывести все значения в интервале между заданными датами, на одном из сайтов нашел формулу которая описывает данное решение, но формула не работает!!!
 
Vlookup Между Двумя Датами И Возвращает Соответствующее Значение С Помощью Формулы LOOKUP


Чтобы получить относительное значение, которое датируется между двумя датами, приведенная ниже формула поиска может помочь вам. Пожалуйста, сделайте следующее:

Введите эту формулу в пустую ячейку, где вы хотите поместить результат: =LOOKUP(2,1/($A$2:$A$7<=F1)/($B$2:$B$7>=F1),$C$2:$C$7)(A2: A7 представляет собой диапазон дат начала и B2: B7 это диапазон конечных дат в вашем отчете, F1 это дата, на которую вы хотите получить соответствующее значение.), а затем нажмите вводить чтобы получить нужный результат. Смотрите скриншот:

Внимание: Если дата не существует, вы получите значение ошибки после ввода этой формулы.

Изменено: voxik-24 - 02.04.2019 16:32:11
 
в ячейке G6 формула не полноценна еще раз сравните с оригиналом внимательно
Лень двигатель прогресса, доказано!!!
 
Сергей, Вы не совсем правильно поняли меня, я прикрепил второй файл "даты диапазона" с пояснением задачи, что должно получиться в конце.
 
Цитата
Сергей написал:
в ячейке G6 формула не полноценна еще раз сравните с оригиналом внимательно
Цитата
Сергей написал:
в ячейке G6 формула не полноценна еще раз сравните с оригиналом внимательно
Сергей, Вы не совсем правильно поняли меня, я прикрепил второй файл "даты диапазона" с пояснением задачи, что должно получиться в конце.
 
voxik-24, а на кой ляд надо было прикладывать первый файл и спрашивать ваще левую фигню
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
voxik-24 , а на кой ляд надо было прикладывать первый файл и спрашивать ваще левую фигню
В первом файле просто я все со скриншота сайта перенес в Excel для наглядности.
 
Если правильно понял:
=ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$16<=$F$2;ЕСЛИ($B$2:$B$16>=$F$2;СТРОКА($A$2:$A$16)-1;""));СТРОКА(F1)))
Формула массива.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
Максим В. написал:
Если правильно понял:=ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$16 =$F$2;СТРОКА($A$2:$A$16)-1;""));СТРОКА(F1)))Формула массива.
Максим, в диапазоне Е6:Е20 формула массива, но она не работает должным образом. Ваш вариант тоже не работает как хотелось бы. Нужно прописать такую формулу при которой при смене даты в ячейке F2 в диапазон Е6:Е20 выводились все значения из колонки С, соответствуя критерию: Все что старше даты наименьшей колонки А и до указанной даты в колонке F2.
 
И что в моей формуле не так? Покажите в файле где она не работает.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
Максим В. написал:
И что в моей формуле не так? Покажите в файле где она не работает.
Максим, в Вашей формуле (я ее вставил в колонку F, значения выделил красным) не берет диапазон.
Файл с Вашей формулой в прикрепленных.
 
Код
=ИНДЕКС(C$1:C$16;НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$16<=F$2)*(B$2:B$16>=F$2);СТРОКА(A$2:A$16));СТРОКА(F1)))
Ваша ошибка. Формулу нужно вводить в одну ячейку, а потом протягивать
Алексей М.
 
Цитата
АlехМ написал:
1=ИНДЕКС(C$1:C$16;НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$16 =F$2);СТРОКА(A$2:A$16));СТРОКА(F1)))Ваша ошибка. Формулу нужно вводить в одну ячейку, а потом протягивать
Алексей, вставил Вашу формулу в колонку D6:D20 (выделено синим) и протянул как Вы советуете (т.е это не формула массива). Формула не работает. Обратите, пожалуйста, внимание на колонку Е6:Е20 - там формула массива работает , но только с точной датой ячейки F2, а нужно чтобы выводились все значения  до даты F2 , которая входит в диапазон наименьшего значения колонки А6:А20 и до даты колонки F2.
 
voxik-24, копируете мою формулу в ячейку Е6, вводите тремя клавишами Ctrl+Shift+Enter, затем протягиваете на нужный диапазон.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Мою или формулу Максима вводите в одну ячейку, нажимая Ctrl+Shift+Enter. Потом протягиваете.
Алексей М.
 
А если вводить формулу сразу в диапазон, то формула такая
Код
=ИНДЕКС(C$1:C$16;НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$16<=F$2)*(B$2:B$16>=F$2);СТРОКА(A$2:A$16));СТРОКА(A$1:A$15)))
Алексей М.
 
Цитата
АlехМ написал:
А если вводить формулу сразу в диапазон, то формула такая
Спасибо, Мужики!!! И Максим и AlexM!!! Все работает. Подскажите только, почему когда вставляю строки вверху диапазона, формула "сползает"? Как ее закрепить, чтобы можно было вставлять и удалять строки?
 
Цитата
voxik-24 написал:
когда вставляю строки вверху диапазона, формула "сползает"
Я не понял. Поясните или покажите в файле.
Алексей М.
 
Формула без масссивного ввода.
Код
=ЕСЛИОШИБКА(ИНДЕКС(C$2:C$200;АГРЕГАТ(15;6;СТРОКА($1:$200)/(A$2:A$200<=F$2)/(B$2:B$200>=F$2);ЧСТРОК($6:6)));"")
 
Цитата
АlехМ написал:
Я не понял. Поясните или покажите в файле.
Алексей, в прикрепленном файле на первой вкладке работает, а на второй вкладке я вставил вверх несколько строк и все "Съехало".
 
Цитата
jakim написал:
Формула без масссивного ввода.
Jakim, в прикрепленном файле я сделал вторую вкладку на которой та же проблема что и с вариантом AlexM -при вставке строк вверх таблицы - работает формула не корректно. Можете что-нибудь посоветовать как этого избежать? А за формулу без массива отдельное Вам спасибо! Очень круто!
 
В формуле должна быть СТРОКА($1:$203)
 
Цитата
jakim написал:
В формуле должна быть СТРОКА($1:$203)
Спасибо, Jakim! Теперь не формула, а само совершенство!!! Как говорит Гуру Николай Павлов: "Когда знаешь - все просто!" Приятного Вам вечера, Jakim!
 
Цитата
voxik-24 написал:
несколько строк и все "Съехало".
У вас в ячейке Е2 формула введена как не массивная. Далее все правильно.
Алексей М.
 
Цитата
АlехМ написал:
У вас в ячейке Е2 формула введена как не массивная. Далее все правильно.
Да, точно. Спасибо Вам AlexM что уделили столько времени для решения на 100%. Хорошего Вам вечера.
Страницы: 1
Наверх