Страницы: 1
RSS
автоматическое вычисление остаточного срока годности продукта
 
Необходимо ежедневно отслеживать остаточный срок годности продукта на актальную дату.  
То есть, фактически  необходимо видеть на одной странице Excel всего три рабочие ячейки.В первой  ячейке привязка к сегодняшней дате, во второй ячейке дата производства продукта(выбирая из списка дат), и самое интересное должно возникать в третьей.  
Например, стоит в первой ячеке дата-5  июля(сегодня),во второй, выбираем из списка дату производства,(например 1 января) в третьей автоматически должен выскакивать остаточный срок годности-49,18%. Выбираем например дату изготовления 15 января и автоматически в третьем окне должно вываливаться 53,01%.  И так по любой дате. В файле, я всё по датам разложил (в кратце), но привязать не умею. Научите/помогите пожалуйста господа.С благодарностью приму любые варианты решения.
 
Ну и вопрос. А какой вообще срок годности у продукта? От чего проценты считать? Желательно в днях.
Я сам - дурнее всякого примера! ...
 
В ячейку G3 формулу    
=1-(СЕГОДНЯ()-ПОДСТАВИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(E3);ПОИСК(" ";СЖПРОБЕЛЫ(E3))+3);"ая";"ай")+1)/366  
 
Если в столбце с датами будут даты а не текст, то формулу можно упростить:  
=1-(СЕГОДНЯ()-E3+1)/366
 
{quote}{login=KuklP}{date=05.07.2010 12:53}{thema=}{post}Ну и вопрос. А какой вообще срок годности у продукта? От чего проценты считать? Желательно в днях.{/post}{/quote}У меня эти вопросы еще вчера возникли, сегодня заморачиваться не стал.
 
Отталкиваясь от файла: какое значение должно получиться на СЕГОДНЯ и 18 марта?
 
Кстати, 31 апреля не бывает, поэтому формула немного другая  
=1-(СЕГОДНЯ()-ПОДСТАВИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(E3);ПОИСК(" ";СЖПРОБЕЛЫ(E3))+3);"ая";"ай"))/366
 
Так макросом, в модуль листа:  
Private Sub Worksheet_Change(ByVal Target As Range)  
   Dim d As Single  
   If Target.Address = [E3].Address Then
       d = ([C3] - DateSerial(Year(Now), Month([E3]), Day([E3]))) / 365 * 100
       Stop  
   End If  
End Sub  
Вместо 365 подставьте срок годности в днях. И как писал Михаил,лучше в Е3 дату а не текст. Тогда DateSerial(Year(Now), Month([E3]), Day([E3]))) / 365 * 100,заменить на [E3].
Я сам - дурнее всякого примера! ...
 
Уп-с.  
d = (1-([C3] - [E3])) / 365 * 100
Я сам - дурнее всякого примера! ...
 
Может все-таки срок годности указывать ,тогда простейшие формулы нужны:
 
Все, проснулся, просмотрел таблицу, так:  
Private Sub Worksheet_Change(ByVal Target As Range)  
   Dim d As Single  
   If Target.Address = [E3].Address Then
       d = (1 - (([C3] - DateSerial(Year(Now), Month([E3]), Day([E3]))) / 364)) * 100
       Stop  
   End If  
End Sub
Я сам - дурнее всякого примера! ...
 
Огромное спасибо всем ! Избавили бабушек от постоянной головной боли.
Страницы: 1
Читают тему
Наверх