Выбрать даты в диапазоне excel

Диапазон дат в одной ячейке (в текстовом формате) в MS EXCEL

​Смотрите также​GElenka​ то .файлик приложите,где​если в столбце​

​: Формула массива​ решить САМОстоятельно?!.​​Сергей​​vispateresa​Перейдите на вкладку​​ Если день недели​​ об ошибке.​.​ зеленым цветом, а​ которому ячейка будет​

​ пользователь будет вводить​=ЕСЛИ(B19=КОНМЕСЯЦА(B19;0);»Последний день месяца»;ТЕКСТ(B19;»дд»)&»-«&ТЕКСТ(B19+МИН(B20;КОНМЕСЯЦА(B19;0)-B19);»дд.ММ.гггг»))​

​ разным месяцам, то​​Выведем диапазон дат (начальная​: Добрый день!​ #ЗНАЧ​ указанны даты с​FreeWed​Логика-то вам понятна:​

​: не вижу проблем​: Вот на этом​Input Message​ не равен 1​Примечание:​На вкладке​ не красным, т.к.​ выделяться если дата​ данные;​В формуле предполагается, что​

​ у начальной даты​ — конечная дата)​Застряла на формуле​BAG​ числами дней 01.02.2014​: Еще раз Спасибо​

Диапазон с указанием месяца и года

​ если >= И​ меняйте условия по​ примере нужно посчитать​(Сообщение для ввода)​ (воскресенье) и не​Чтобы указать подсказку​Data​ правило (Между =СЕГОДНЯ()-14​ находится в пределах​вызовите инструмент Условное форматирование (Главная/​

​ начальная дата введена​ будет дополнительно выводиться​ в одной ячейке​​ Если.​​: ну вот…​ и так далее​​ всем большое​​V​

Диапазон в пределах 1 месяца

​ датам и условие​ количество да за​ или​ равен 7 (суббота),​ при вводе или​(Данные) нажмите кнопку​ и =СЕГОДНЯ()+14) у​ двух недель от​ Стили/ Условное форматирование/​ в ячейку​ месяц.​ в формате 21-25.10.2012.​Подскажите, пожалуйста, как​

​BAG​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(G:G;»01.02.2014″;AE:AE)​Извините за глупое​: вариант​​ да или нет​​ апрель 2015​Error Allert​​ дата допускается (<>​​ текст для оповещения​

excel2.ru

Информирование пользователя MS EXCEL о принадлежности ДАТЫ к определенному диапазону

​Data Validation​ нас идет первым​ сегодняшнего числа, используйте​ Управление правилами). Откроется​B19​

​Более простым случаем является​Пусть задана начальная дата​ задать диапазон дат​: Кажется разобрался, виной​- возвращает результат​

  • ​ сообщение, формула Суммпроизв​=СУММПРОИЗВ(($A$2:$A$12=$J13)*($C$2:$C$12=K$12)*$D$2:$D$12)​
  • ​если что то​Сергей​(Сообщение об ошибке),​ означает не равно).​
  • ​ об ошибке, перейдите​(Проверка данных).​ и имеет наивысший​ формулы =СЕГОДНЯ()-14 и​

​ окно Диспетчер правил​, а длительность периода введена​ вывод начальной даты​ (ячейка​ с помощью формулы​

  • ​ спец символы #​ только для указанной​ реально самая простая​
  • ​если случайно подойдет​ не то тогда​: =СЧЁТЕСЛИМН(C[-2];»нет»;C[-3];»>=»&—«01.04.2015»;C[-3];»8 прально​ чтобы прописать подсказку,​ Другими словами, понедельники,​
  • ​ на вкладку​
  • ​Из выпадающего списка​ приоритет. Для правильного​
  • ​ =СЕГОДНЯ()+14.​ условного форматирования;​
  • ​ в ячейку​
  • ​ с указанием месяца​B7​

  • ​ ЕСЛИ в нижней​китин​ даты, а постановочные​

​ в данном случае:)​ два варианта то​ реальный пример что​vispateresa​ всплывающую при вводе​ вторники, среды, четверги​

  • ​Input Message​
  • ​Allow​ отображения поменяем порядок​
  • ​ВНИМАНИЕ!​нажмите Создать правило;​
  • ​B20​ и года (что​
  • ​) и длительность периода​ таблице, что бы​

​: ога.да еще у​ символы * ?​Михаил С.​ эта формула не​ есть что хотите​: спасибо огромное! Вы​ или текст для​ и пятницы допустимы.​(Сообщение для ввода)​

​(Тип данных) выберите​
​ критериев, используя соответствующие​Когда к диапазону​выберите Форматировать только ячейки,​.​ позволяет корректно учесть​ (ячейка​ в расчете использовалась​ вас формула стоит​ не работают​: Зато и самая​ подходит.​ с указанием вручную​ очень помогли​ оповещения об ошибке.​ Воскресенья и субботы​ или​ пункт​ стрелочки.​ ячеек применяются два​ которые содержат;​Используем Условное форматирование для​ случай, когда даты​

​B8​ цена 1 или​ в том же​китин​ тормозная. Если такая​Nic70y​ результата вычисления формул​vispateresa​Урок подготовлен для Вас​ – нет. Поскольку,​Error Allert​Date​В результате получим вот​ или более правил​в выпадающем списке выберите​

​ подачи сигнала пользователю​ принадлежат разным годам).​

​), выведем диапазон дат​
​ 2 периода соответственно.​ столбце,где и считает.о​: попробуйте так​ формула всего одна​

  • ​: Формула массива​МВТ​: не углядела один​ командой сайта office-guru.ru​ прежде чем открыть​
  • ​(Сообщение об ошибке).​(Дата).​
  • ​ такую картину.​ Условного форматирования, приоритет​ Равно;​

excel2.ru

Как отбросить недопустимые даты в Excel

  • ​ MS EXCEL о принадлежности​
  • ​ В этом случае​

​ в одной ячейке​_Boroda_​ циклической ссылке не​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((МЕСЯЦ(G:G)=2)*AE:AE)​

  1. ​ — то не​​=МИН(ЕСЛИ(K$12=$C$2:$C$12;ЕСЛИ($J13>=$A$2:$A$12;ЕСЛИ($J13 В Excel​​: Мне кажется, проще​Отбрасываем ненужные даты в Excel
  2. ​ момент ((( -​​Источник: http://www.excel-easy.com/examples/reject-invalid-dates.html​​ окно проверки данных,​​Из выпадающего списка​​Из выпадающего списка​Отбрасываем ненужные даты в Excel

Вне диапазона дат

  1. ​СОВЕТ:​​ обработки определяется порядком​​введите формулу =СЕГОДНЯ();​ даты к определенному​​ нужно использовать формулу​​ в формате 21-25.10.2012​
  2. ​: Так нужно?​​ предупреждал Эксель?​​BAG​​ страшно. Если их​​ новее 2003 можно​
  3. ​ сводной таблицей сделать​ задача должна решаться​Перевел: Антон Андронов​ мы выделили диапазон​​Allow​​Data​Отбрасываем ненужные даты в Excel​Чтобы найти все​​ их перечисления в​нажав кнопку Формат выберите,​ диапазону.​ =ТЕКСТ(B13;»дд.ММ.гггг»)&»-«&ТЕКСТ(B13+B14;»дд.ММ.гггг»)​ (см. файл примера).​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=H3*ЕСЛИ((H13>=$D14)*(H13<>=$F14)*(H13​
  4. ​BAG​​: не выходит -​​ под сотню, и​ попробовать СУММЕСЛИМН​

​ и поставить группировку​ не только для​

Отбрасываем ненужные даты в Excel

​Автор: Антон Андронов​​A2:A4​(Тип данных) выберите​(Значение) выберите пункт​ ячейки на листе,​ Диспетчере правил условного​​ например, красный шрифт;​​Предположим, что пользователь вводит​В формуле предполагается, что​​Это можно сделать с​​Уж коли нужно​

Воскресенья и субботы

  1. ​: тоталитарная лажа, в​​ ошибочка #ЗНАЧ!​​ диапазоны большие -​FreeWed​​ по годам и​​ 2015 года, а​
  2. ​vispateresa​​, Excel автоматически вставил​​ пункт​​Between​ к которым применены​ форматирования. Правило, расположенное​​нажмите ОК и вернитесь​​ некие даты событий.​

    ​ начальная дата введена​
    ​ помощью формулы =ТЕКСТ(B7;"дд")&"-"&ТЕКСТ(B7+B8;"дд.ММ.гггг")​

    Отбрасываем ненужные даты в Excel

    ​GElenka​​ оригинале файла какой​​jakim​​ то почувствуете.​: Спасибо большое за​ месяцам (см. в​ также для предыдущих​: Используется формула СЧЁТЕСЛИМН​ формулу во все​Custom​(Между).​ правила Условного форматирования необходимо:​ в списке выше,​ в Диспетчер правил​ Требуется, чтобы EXCEL​ в ячейку​Совет​:​ то глюк, буду​:​FreeWed​​ помощь,​​ примере)​ и последующих​ с двумя условиями.​

  3. ​ ячейки этого диапазона.​(Другой).​​Введите начальную и конечную​​на вкладке Главная в​​ имеет более высокий​​ условного форматирования;​Отбрасываем ненужные даты в Excel​ автоматически выделял ячейки​B13​: О пользовательском формате​
  4. ​ура, все работает!​ разбираться.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=SUMPRODUCT((MONTH(A:A)=2)*B:B)​​:​​Я Самостоятельно пробовал,​

​FreeWed​Сергей​

Отбрасываем ненужные даты в Excel

​По одному из​​Чтобы проверить это, выделите​​В поле​​ дату, как показано​ группе Редактирование щелкните​​ приоритет, чем правило,​​Теперь создадим правило, по​ следующим образом:​, а длительность периода введена​ дат можно прочитать​Спасибо большое​

​Получается так что​китин​
​Михаил С.,​
​ давно уже ничего​

​: Добрый день, Уважаемые​

office-guru.ru

Как в условие формулы подставить диапазон дат?

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

​Михаил подскажите пожалуйста,​​ не делал в​Прошу помощи в​ последняя формула считает​ столбца с конкретными​A3​

​ormula​​ и нажмите​ командой Найти и​ ниже. Новые правила​ выделяться, если дата​

​ с сегодняшним днем;​​B14​

​ формат ДАТЫ и​​: Описание внутри​ в одном столбце​

​jakim​​ в конструкции той​ Экселе вот и​ решении простенькой задачки.​ апрель не зависимо​ датами выбирать ячейки,​и нажмите кнопку​(Формула) пропишите формулу,​

​ОК​​ выделить;​ всегда добавляются в​ находится в пределах​оранжевым, если вводимая дата​
​.​ ВРЕМЕНИ в MS​

​По сути вопрос​​ с расчетными цифрами,​: Опоздал. BAG проверьте​ формулы, которую вы​ отказывается мозг работать.​ Есть таблица в​ от года​
​ относящиеся к определенному​Data Validation​ показанную ниже, и​.​

​выберите в списке пункт​​ начало списка и​ 1 недели от​ находится в пределах​Иногда требуется, чтобы начальная​
​ EXCEL​ сводится к поиску​даты должны начинаться​ формат столбца G.​ написали, я раньше​ Тоже думал про​

​ которой указаны в​​пс не задавайте​ месяцу и году.​(Проверка данных).​ нажмите​Пояснение:​ Условное форматирование;​

planetaexcel.ru

Выбор значение из диапазона между датами

​ поэтому обладают более​​ сегодняшнего числа:​
​ 1 недели от​ и конечная даты​Это решение, однако, не​ определенной даты в​ с самого верха​BAG​ такого ПОИСКПОЗ($J13;ЕСЛИ($C$2:$C$12=K$12;$A$2:$A$12))) не​ Суммпроизв — но​ каком промежутке действовал​ диапазон полность столбцом​ Например, февраль 2014​Как видно на рисунке,​
​ОК​

​Даты между 20​​будут выделены все ячейки,​ высоким приоритетом, однако​нажмите Создать правило;​
​ сегодняшнего числа;​ принадлежали одному месяцу.​

​ учитывает, что начальная​​ диапазоне, и проставление​
​ листа, и ячейки​
​: Специально заново отформатировал​ встречал, а именно​ правильно ее так​ определенный тариф. Необходимо​

​vispateresa​​ или апрель 2015.​
​ эта ячейка тоже​.​ мая 2013 года​

​ которым применены правила​​ порядок правил можно​выберите Форматировать только ячейки,​
​зеленым, если вводимая дата​ В этом случае​ и конечная дата​ в этом диапазоне​ не должны содержать​ столбец G как​ формула ЕСЛИ в​ и не дописал.​ заполнить значения в​
​: Столбец дат может​Как задать в​ содержит формулу.​=AND(WEEKDAY(A2)<>1,WEEKDAY(A2)<>7)​ и сегодняшней датой​ Условного форматирования.​ изменить в диалоговом​ которые содержат;​

​ находится в пределах​​ в формуле необходимо​

​ могут принадлежать разным​​ соответствующих значений.​ ни чего кроме​
​ даты , но​ ПОИСКПОЗ.​Спасибо большое за​ желтых ячейках, то​

​ быть абсолютно в​​ формуле такой диапазон​Введите дату 24 августа​=И(ДЕНЬНЕД(A2)<>1;ДЕНЬНЕД(A2)<>7)​ + 5 дней​Вне диапазона дат​ окне при помощи​в выпадающем списке выберите​ 2 недель от​

​ провести проверку: не​​ месяцам. В этом​​Заранее спасибо​
​ цифр,​ результат тот же.​Считает правильно, а​ помощь, на данном​ есть в какой​ разнобой. Нужна формула,​ дат?​ 2013 (суббота) в​
​Пояснение:​ допустимы. Даты вне​

​Воскресенья и субботы​​ кнопок со стрелками​

planetaexcel.ru

как в формуле указать диапазон дат для конкретного месяца? (Формулы)

​ Между;​​ сегодняшнего числа.​ выходит ли конечная​ случае формула может​
​китин​иначе ошибка формулы​что может влиять​ понять не могу!​
​ форуме уже давно,​​ диапазон попадает дата,​ которая будет считать​Сергей​ ячейку​Функция​

​ этого диапазона недопустимы.​​Этот пример объясняет, как​​ Вверх и Вниз.​

​введите формулы =СЕГОДНЯ()-7 и​​Сначала создадим правило, по​ дата за границы​

​ вернуть, например 21-05.10.2012,​​: И вам здравствуйте​​ .​

​ на это, объединение​​Михаил С.​

​ но из за​​ тот тариф и​ количество для конкретного​

​: если б показали​​A2​WEEKDAY​Введите в ячейку​ использовать проверку данных,​
​Если мы расположим правила​ =СЕГОДНЯ()+7;​ которому ячейка будет​ месяца. Если конечная​ что довольно сложно​

​ .чисто по вашему​​От этого страдает​ ячеек в шапке,​: Пояснения в файле​

​ смены платформы мой​​ необходимо брать.​

​ месяца конкретного года.​​ пример можно было​.​

​(ДЕНЬНЕД) возвращает число​​А2​ чтобы отбросить недопустимые​ как показано на​нажав кнопку Формат выберите,​ выделяться, если дата​ дата выходит за​

​ для понимания. Поэтому,​​ файлу примерно так​ шапка файла с​ группировка строк или​BAG​
​ логин отказался работать,​Заранее всем спасибо.​Например, количество «нет»​ сказать точно а​
​Результат: Excel выдаёт сообщение​ от 1 (воскресенье)​дату – 19​ даты.​ предыдущем рисунке, то​ например, оранжевый шрифт;​
​ совпадает с сегодняшним​ границы месяца, то​
​ изменим формулу: =ТЕКСТ(B7;ЕСЛИ(МЕСЯЦ(B7)-МЕСЯЦ(B7+B8);»дд.ММ»;»дд»))&»-«&ТЕКСТ(B7+B8;»дд.ММ.гггг»)​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(И($AL$3<>=$G$2:$AK$2);$E$3/(($AM$3-$AL$3)+1);»»)​ описанием столбцов, досадно,​ фильтрация !?​
​: Подскажите как указать​

excelworld.ru

Как задать диапазон дат формулой ЕСЛИ (Формулы/Formulas)

​ пришлось еще раз​​Z​
​ для апреля 2015​ так пишите в​
​ об ошибке.​ до 7 (суббота),​ мая 2013 года.​Выделите диапазон​ при вводе сегодняшней​Проделайте аналогичные шаги для​ днем (см.Файл примера):​ она заменяется последней​

​Теперь. если начальная и​​reventon9​
​ но ладно.​
​китин​

​ диапазон дат для​​ регистрироваться.​yahoo​: И ни одной​
​ или количество "да"​

excelworld.ru

Формула поиска даты в диапазоне (Формулы/Formulas)

​ условиях >=дата​​Примечание:​
​ представляющее день недели.​Результат: Excel выдаёт сообщение​A2:A4​ даты она выделится​ создания правила, по​выделите диапазон, в который​
​ датой месяца.​

​ конечная даты принадлежат​​: Спасибо за оперативность!!!​Спасибо за помощь​: а чё гадать​​ конкретного месяца 02.2014,​

​Михаил С.​​ вашей попытки ее​

excelworld.ru

​ для марта 2014​

 

Здравствуйте уважаемые знатоки Excel.
Столкнулся с проблемой выбора получившейся даты по условию.
В таблице в диапазоне B2:M2 расположены условия, в диапазоне B8:M8 набор дат, из которых
необходимо выбрать дату  согласно условию. Например, если есть дата в диапазоне B8:M8
соответствующая январю 2014 (ячейка M2) то она должна отобразиться в ячейке M3 и т.д.

P’S.
Перепробовал всякие варианты ничего не выходит.
Очень рассчитываю на вашу помощь.

Прикрепленные файлы

  • Даты.xls (51 КБ)

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#2

16.01.2014 08:15:42

формула массива

Код
=ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(МЕСЯЦ(B$2);МЕСЯЦ($B$8:$M$8);0)) 

Прикрепленные файлы

  • 3333.xls (43 КБ)

Изменено: китин16.01.2014 10:58:27

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

wowick

Пользователь

Сообщений: 972
Регистрация: 14.01.2014

Кроме как в столбце М все остальные данные абсолютно неверные…

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

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

?????как это? :?:

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Руслан А.

Пользователь

Сообщений: 269
Регистрация: 01.01.1970

С помощью допстроки.

Прикрепленные файлы

  • Даты.xls (36.5 КБ)

Век живи, век учись — два века проживешь!

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

ждем ТСа.пусть рассудит :)

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Руслан А.

Пользователь

Сообщений: 269
Регистрация: 01.01.1970

Второй вариант, если я неправильно понял условие задачи:

Прикрепленные файлы

  • Даты.xls (36 КБ)

Век живи, век учись — два века проживешь!

 

Руслан, огромное спасибо Вам!
Самих данных с датами несколько тысяч строк.  :(  
Надеялся, что можно реализовать решение в одной формуле.
Придется как-то выкручиваться.
Еще раз большое спасибо!

Но все-же в ячейке должна отображаться дата 29.12.2014
из диапазона B8:M8.

Изменено: Александр Худяков16.01.2014 08:48:03

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

Александр вы бы хоть пояснили,что не так.истелесно ведь ;)

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Руслан А.

Пользователь

Сообщений: 269
Регистрация: 01.01.1970

#10

16.01.2014 08:46:47

Цитата
Надеялся, что можно реализовать решение в одной формуле.

Наверняка можно, это всего лишь вариант.
Кстати, какой подошел-то?

Век живи, век учись — два века проживешь!

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#11

16.01.2014 08:52:55

Цитата
?????как это? :?:

Не переживайте! Для того, чтобы оценить, надо узнать как готовят и «едят» формулы массива… ;) Вот тогда, мо быть, и спасибы дождетесь. Хотя, не ради одного ТС планетяне помогают — другим пригодятся. Они и «подавитель» н/д по случаю сами подключат. Как вариант, однако…

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#12

16.01.2014 09:06:15

Цитата
Вот тогда, мо быть, и спасибы дождетесь

Z не в спасибах дело то.дело в тренировке и изучении.хочется знать что не так сделал и что не так понял  :D

Изменено: китин16.01.2014 09:06:35

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#13

16.01.2014 09:08:23

Цитата
Но все-же в ячейке должна отображаться дата 29.12.2014
из диапазона B8:M8.

и что тогда не так в моей формуле?

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#14

16.01.2014 09:11:21

Цитата
хочется знать что не так сделал и что не так понял

Планета еще не научила — не спешите наперегонки рыбу раздавать до тех пор, пока нет ясности в хотелке ТээС’а?!
ps А если тренировки личной ради, то и вылизывать решение, наверное, надо как для себя любимого… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Постараюсь еще раз пояснить.
Если в диапазоне В2:М2 указаны даты, то формула на основании ячеек  должна просматривать даты из В8:М8
и выбирать дату из указанной ячейки например из М2 01.12.2014 но от 01.12.2014 до 31.12.2014.

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

Александр,или я туплю или лыжи не едут.что конкретно не так в моем файле?пост№2.вручную поставьте в вашем файле что вы хотите

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Руслан А.

Пользователь

Сообщений: 269
Регистрация: 01.01.1970

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

Век живи, век учись — два века проживешь!

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

#18

16.01.2014 10:15:15

формула массива:

Код
=МИН(ЕСЛИ(B8:M8>=M2;ЕСЛИ(B8:M8<=КОНМЕСЯЦА(M2;0);B8:M8)))
 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

а год то я и не посмотрел.тупимс потихоньку :oops:

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#20

16.01.2014 10:42:11

Цитата
формула массива:…  

С «баксами» —  уютнее, однако… ;)

Код
=МИН(ЕСЛИ($B$8:$M$8>=B2;ЕСЛИ($B$8:$M$8<=КОНМЕСЯЦА(B2;0);$B$8:$M$8)))

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

#21

16.01.2014 10:51:51

По данному примеру (если так и будет — числа в порядке возрастания) то можно и не массивную:

Код
=ЕСЛИ(ГПР(КОНМЕСЯЦА(M2;0);$B$8:$M$8;1;1)>M2;ГПР(КОНМЕСЯЦА(M2;0);$B$8:$M$8;1;1);"")
 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#22

16.01.2014 10:57:29

ну тогда вот такой монстр получился(ну охота мне с ИНДЕКС побаловаться) формула массива

Код
=ЕСЛИ(ЕНД(ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(ТЕКСТ(B2;"ММ.ГГГГ");ТЕКСТ($B$8:$M$8;"ММ.ГГГГ");0)));"";ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(ТЕКСТ(B2;"ММ.ГГГГ");ТЕКСТ($B$8:$M$8;"ММ.ГГГГ");0)))


Прикрепленные файлы

  • 3333(2).xls (44 КБ)

Изменено: китин16.01.2014 10:58:13

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 
Руслан А.

 во 2-ом примере все великолепно работает, просто я в спешке просмотрел. Прошу прощения. Спасибо огромное.

Nic70y

 попробовал Ваш вариант заполнив диапазон В3:М8, при изменении в диапазоне с исходными датами, на другие даты
в пределах 2014 года, формула не работает.

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

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#24

16.01.2014 11:26:02

Цитата
попробовал Ваш вариант…формула не работает.

Какая/ой, где? Показать можно?!
ps Если извилины (свои) не напрягать, форум читать с пятое-на-десятое, то да — мо быть… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

китин — вариант

3333(2).xls

просто прелесть!  :)

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#26

16.01.2014 11:52:44

а если подшлифовать(для Эксель 2007 и выше)

Код
 =ЕСЛИОШИБКА(ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(ТЕКСТ(B2;"ММ.ГГГГ");ТЕКСТ($B$8:$M$8;"ММ.ГГГГ");0));"")

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

#27

16.01.2014 12:13:44

Цитата
попробовал Ваш вариант

о каком варианте речь?

Прикрепленные файлы

  • 14.56.xls (29 КБ)

 

Nic70y — вот этот у меня не получился.
=ЕСЛИОШИБКА(ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(ТЕКСТ(B2;»ММ.ГГГГ»);ТЕКСТ($B$8:$M$8;»ММ.ГГГГ»);0));»»)
За

14.56.xls

(29 КБ) огромное спасибо, все великолепно.

Еще раз всем светлым головам спасибо!  

 

китин

Пользователь

Сообщений: 931
Регистрация: 16.05.2013

#29

17.01.2014 06:35:45

Александр а вы про формулу массива не забыли?

Код
=ЕСЛИОШИБКА(ИНДЕКС($B$8:$M$8;;ПОИСКПОЗ(ТЕКСТ(B2;"ММ.ГГГГ");ТЕКСТ($B$8:$M$8;"ММ.ГГГГ");0));"") 

Вполне такой нормальный кинжальчик. Процентов на 100
<#0>

 

Александр Худяков

Пользователь

Сообщений: 113
Регистрация: 01.01.1970

#30

19.01.2014 06:59:23

китин

конечно забыл… спасибо большое!

Alexander

Допустим поставки товаров от поставщика 1 раз в неделю. Банковские транзакции взаиморасчетов с поставщиком товаров производятся регулярно каждый вторник. Необходимо быстро проверить в какие дни дата поставки товара совпадает с датой взаиморасчетов. Это позволит предоставить ежемесячный отчет за прошлый месяц о взаиморасчетах поставщику в день поставки товара и сэкономить на курьерских услугах. Для этого следует выделить все даты предполагаемых поставок, припадающие на вторник.

Поиск даты в диапазоне дат Excel

Для решения выше описанной задачи мы, используя специальную формулу в условном форматировании выполним поиск ближайшей даты в Excel для вторников и выделим цветом эти ячейки. Автоматическое выделения цветом календарных дат:

Даты доставки.

  1. Выделите диапазон ячеек B2:B10 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
  2. Создание правила.

  3. Выберите: «Использовать формулу для определения форматируемых ячеек».
  4. ДЕНЬНЕД.

  5. Чтобы выбрать дни вторников в Excel для поля ввода введите формулу: =ДЕНЬНЕД(B2;2)=2 и нажмите на кнопку «Формат», чтобы задать желаемый цвет заливки для ячеек. Например, зеленый. Нажмите ОК на всех открытых окнах.

Зеленый.

Результат выделения цветом каждого вторника в списке дат поставок товаров:

выделение цветом каждого вторника.

В формуле мы использовали функцию =ДЕНЬНЕД(), которая возвращает номер дня недели для исходной даты. В первом аргументе функции указываем ссылку на исходную дату. Ссылка относительная так как будет проверятся каждая дата в столбце B. Во втором аргументе обязательно следует указать число 2, чтобы функция правильно выдавала нам очередности дней недели (1-понедельник, 2-вторник и т.д.). Если не указать второй аргумент, то функция будет считать дни в английском формате: 1-sanday (неделя), 2-Monday (понедельник) и т.д.

Дальше идет оператор сравнения с числом 2. Если возвращаемое число функцией = 2 значит формула возвращает значение ИСТИНА и к текущей ячейке применяется пользовательский формат (красная заливка).



Выделения дат цветом только текущего месяца

В таблице представлен список проектов, которые должны быть реализованные на протяжении текущего полугодия. Список большой, но нас интересуют только те проекты, которые должны быть реализованы в текущем месяце. Визуально искать в списке даты текущего месяца – весьма неудобно. Можно использовать условное форматирование, чтобы Excel нам автоматически выделил цветом интересующие нас даты в списке. Пример таблицы проектов на текущий месяц в Excel:

список проектов.

Нам необходимо из целой таблицы выбрать дату в Excel на текущий месяц:

  1. Выделите диапазон ячеек B2:B11 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
  2. Создать правило.

  3. Снова выбираем: «Использовать формулу для определения форматируемых ячеек».
  4. МЕСЯЦ.

  5. В поле ввода введите формулу: =МЕСЯЦ(B2)=МЕСЯЦ($C$2) и нажмите на кнопку «Формат», чтобы задать желаемый цвет заливки для ячеек. Например, зеленый. Нажмите ОК на всех открытых окнах.

Зеленый.

В результате визуально отчетливо видно дни текущего месяца:

дни текущего месяца.

В представленной формуле для условного форматирования главную роль играет функция =МЕСЯЦ(), которая определяет номер месяца исходной даты. Ссылка на ячейку в аргументе первого раза использования функции МЕСЯЦ – относительная, так как проверятся будут несколько ячеек в столбце C. После функции стоит оператор сравнения с номером текущего месяца. Там уже используется абсолютная ссылка (значение аргумента неизменяемое). Если результаты вычислений по обе стороны оператора сравнения совпадают, тогда формула возвращает значение ИСТИНА и к текущей ячейке присваивается пользовательский формат (заливка зеленым цветом).

Теперь усложним задачу. Допустим у нас список проектов охватывает не полугодие, а несколько лет:

список проектов на несколько лет.

Тогда возникает сложность ведь в разные года номера месяцев будут совпадать и условное форматирование будет выделять лишние даты. Поэтому необходимо модернизировать формулу:

ГОД.

Готово:

Пример.

Мы добавили в формулу две функции, которые позволяют нам выбрать дни определенного месяца и года:

  1. =ГОД() – функция работает по тому же принципу что и =МЕСЯЦ(). Разница только в том, что возвращает из даты номер года.
  2. =И() – данное имя функции говорит само за себя. То есть должны совпадать и номера месяцев и их номера годов.

Вся формула достаточно просто читается и ее легко использовать для решения похожих задач с помощью условного форматирования.

Читайте так же: как посчитать разницу между датами в днях.

Это глава из книги: Майкл Гирвин. Ctrl+Shift+Enter. Освоение формул массива в Excel.

Предыдущая глава                             Оглавление                                Следующая глава

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

Подсчет дат, когда критерий сформулирован в виде текста. На рис. 12.1 показан набор данных с датами в стандартном формате Excel, то есть в виде порядковых чисел. В тоже время, критерии заданы как число (год) и текст (месяц). Цель – подсчитать, сколько дат соответствуют критерию. Проблема в том, что у нас несоответствие формата данных: в столбце A даты как порядковые номера, а критерий – смесь чисел и текста. На рис. 12.1 приведено пять различных формул, которые можно использовать для достижения цели.

Рис. 12.1. Подсчет количества дат

Рис. 12.1. Подсчет количества дат (заданных порядковыми номерами) по двум критериям: году (число) и месяцу (текст)

Скачать заметку в формате Word или pdf, примеры в формате Excel2013

Давайте подробнее изучим работу этих пяти формул.

Формула [1]:

  • Если вы можете позволить себе вспомогательный столбец, функция СЧЁТЕСЛИ будет самым простым решением.
  • Функция МЕСЯЦ возвращает число между 1 и 12, а функция ГОД – число (год).
  • Хотя Excel требует, чтобы аргумент функции МЕСЯЦ был представлен датой в числовом формате, этот аргумент может распознать и текст. Однако МЕСЯЦ(Окт) вернет ощибку, а вот если добавить к названию месяца любое число, например, 1, то Excel справится. Используйте, как в формуле выражение Окт1, заданное фрагментом F8&1, или 1Окт, заданное фрагментом 1&F8.
  • Формулы с вспомогательными столбцами как правило работают быстрее.

Формула [2]:

  • Если у вас Excel 2007 или более поздний, вы можете использовать функции СЧЁТЕСЛИМН и КОНМЕСЯЦА.
  • Вам даны год (в виде числа) и месяц (как текст). Это означает, что вы можете вычислить дату начала и конца месяца, а затем определить даты, попажающие между ними.
  • Месяц всегда начинается с первого числа, так что вы можете создать нижнюю границу диапазона конкатенацией: ">=1"&F8&E8. Операции конкатенации возвращают текст, но это не страшно, т.к. функция СУММЕСЛИМН понимает даты в виде текста.
  • Вы используете функцию КОНМЕСЯЦА с аргументом число_месяцев равным нулю; это позволяет получить последнюю дату текущего месяца. Функция КОНМЕСЯЦА является динамической: она возвращает 28 или 29 для февраля и 30 или 31 для любого другого месяца.
  • Эта формула является самой быстрой, если вам нужно получить решение в одной ячейке.

Формула [3]:

  • Если у вас Excel версии младше 2007 г., вы можете использовать две функции СЧЁТЕСЛИ, одну – для верхнего диапазона, вторую – для нижнего. Фокус в том, чтобы сначала сосчитать все значения, которые равны или меньше верхней границы, а затем вычесть все значения, которые меньше нижней границы.
  • В Excel 2003 или более ранней, чтобы добавить функцию КОНМЕСЯЦА, вам нужно выбрать ИнструментыНадстройкиАнализ Данных.
  • Эта формула работает быстрее, чем формулы [4] и [5].

Формула [4]:

  • Функции МЕСЯЦ и ГОД возвращают числа, извлекая их из порядкового номера даты.
  • Далее сравниваются два фрагмента, каждый полкченный конкатенацией.

Формула [5]:

  • Функция ТЕКСТ используется для представления чисел в виде текста. Второй аргумент этой функции – формат – определяет, как будет представлено число. Вы может конвертировать весь столбец А в текст, состоящий из 7 символов: 3 буквы месяца и  4 цифры года.

Нахождение объема продаж за год. На рис. 12.4 показан пример несоответствие формата года в критерии Е6 (число) и формата дат в диапазоне А2:А6 (порядковый номер). Цель – найти сумму продаж за год. На рисунке представлены шесть вариантов формул, которые могут решить задачу. Обратите внимание, что в формулах [1] и [2] критерии начала и конца года жестко зашиты в коде, т.к. они не могут изменяться. Это 1/1 и 31/12). Формулы размещены на рисунке в порядка увеличения скорости работы.

Рис. 12.4. Формата года в критерии не соответствует формату дат

Рис. 12.4. Формата года в критерии Е6 (число) не соответствует формату дат в диапазоне А2:А6 (порядковый номер)


Пусть имеется диапазон с датами. Найдем дату из этого диапазона, которая является ближайшей к заданной. Решение этой задачи аналогично решению, изложенного в статье

Поиск ЧИСЛА ближайшего к заданному

.

Пусть в диапазоне

A4:A12

имеется список дат. Будем в нем искать дату из ячейки

С4

. Если диапазон не содержит искомого значения, то будет возвращено ближайшее значение.

Искомая дата необязательно должна совпадать с какой-нибудь датой или даже находиться в диапазоне поиска (см.

Файл примера

):


Решение


Результат поиска


Примечание

=

ВПР(C4;A4:A12;1;ИСТИНА)

=

ПРОСМОТР(C4;A4:A12;A4:A12)

ищется наибольшее значение, которое меньше, чем искомое значение (если искомая дата меньше, чем минимальное значение из диапазона, то будет возвращена ошибка #Н/Д)

если столбец не отсортирован по возрастанию, то результат непредсказуем

=

ИНДЕКС(A4:A12; ПОИСКПОЗ(МИН(ABS(A4:A12-C4));ABS(A4:A12-C4);0))

ищется

ближайшая

к критерию дата (если обнаружено 2 ближайших числа (одно больше, другое меньше критерия), то выводится то, которое расположено выше (номер строки меньше))

столбец м.б. не отсортирован

=

ИНДЕКС(A4:A12; ПОИСКПОЗ(МАКС(ЕСЛИ(A4:A12<=C4;A4:A12;»»)); $A$4:$A$12;0);1)

ищется

наибольшее значение, которое меньше

, чем искомое значение (если искомая дата меньше, чем минимальное значение из диапазона, то будет возвращена ошибка #Н/Д)

столбец м.б. не отсортирован

=

ИНДЕКС(A4:A12; ПОИСКПОЗ(МИН(ЕСЛИ(A4:A12>=C4;A4:A12;»»)); $A$4:$A$12;0);1)

ищется

наименьшее значение, которое больше

, чем искомое значение (если искомая дата больше, чем максимальное значение из диапазона, то будет возвращена ошибка #Н/Д)

столбец м.б. не отсортирован

=

МАКС(ЕСЛИ(МИН(ABS(A4:A12-C4))=ABS(A4:A12-C4);A4:A12;МИН(A4:A12)))

ищется

ближайшая

к критерию дата (если обнаружено 2 ближайших числа (одно больше, другое меньше критерия), то выводится то, которое больше

столбец м.б. не отсортирован

=

МИН(ЕСЛИ(МИН(ABS(A4:A12-C4))=ABS(A4:A12-C4);A4:A12;МАКС(A4:A12)))

ищется

ближайшая

к критерию дата (если обнаружено 2 ближайших числа (одно больше, другое меньше критерия), то выводится то, которое меньше

столбец м.б. не отсортирован

Последние 5 решений реализованы с использованием

формул массива

. Для пошагового просмотра хода вычислений используйте клавишу

F9

.

Как видно из таблицы, применение функции

ВПР()

со значением аргумента

интервальный_просмотр

равным ИСТИНА, имеет недостатки. Во-первых, найденное значение м.б. далеко не ближайшим (задав в качестве критерия дату 06.02.2009 получим не ближайшую дату 07.02.2009, а наибольшее значение, которое меньше, чем искомое значение, т.е. 05.01.2009). Во-вторых, если искомая дата меньше, чем минимальное значение из диапазона, то будет возвращена ошибка #Н/Д. В-третьих, требуется

сортировка

списка, что не всегда удобно.

Хорошим решением является

формула массива

=ИНДЕКС(A4:A12; ПОИСКПОЗ(МИН(ABS(A4:A12-C4));ABS(A4:A12-C4);0))

свободная от всех указанных недостатков, но имеющая свои: формула относительно сложная и является

формулой массива

.


Совет

: т.к. дата в MS EXCEL хранится в числовом виде (см. статью

Как Excel хранит дату и время

), то формулы для поиска ближайшего числа также будут работать для дат (см. раздел

Ближайшее ЧИСЛО

).

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Выбрать надстройки в excel 2007
  • Выбрать данные excel построение графиков
  • Выборочное среднеквадратическое отклонение excel
  • Выбрать минимальное значение в excel по условию
  • Выбрать всю колонку excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии