AuthorRЦитата: Как с помощью ФОРМУЛЫ получить в любой из ячеек на основании данных ячейки 1 и ячейки 2 - дату - первый день указанной недели указанного года? 
  ай, что за прелесть эта задачка!!! 
 А вот тут начинается разнобой и шатания - первой число недели - это обязательно липонедельник?? разные программы по разному это интерпретируют: 
 календарь в ChamelonClock (и в моём SonyEricsson) считают, что 1.1.2006 - это 52 неделя (2005 года), а 2.01.2006 - это начало 1-й недели 2006 года. 
 А вот Excel (НОМНЕДЕЛИ) считает что 1.1.2006 - это первая неделя, а вторая начинается с 08.01.2006...  
 Вам то что надо получить?! 
 если вы согласны, что начало 2-й недели 2006 года = 8.01.2006, тогда Вам поможет формула 
   =ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7    
не забудьте формат ячейки сделать "Дата"      Добавлено:  MushroomerЦитата: =ДЕНЬ(ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7+1)....
 мне кажется, что с +1 Вы погорячились - имхо, это не нужно в любом случае...      
Добавлено:    gyurza2000Цитата: в колонке А перечислены пестициды, в строке 1 перечислены культуры, на которых данные пестициды применяются. 
  Если Вас не смущает использование модуля на VBA - тогда  
 попробуйте такое решение (общая идея - при изменении в ячейке A10 (выбранная культура) - находим в каком  столбце эта культура и потом, проверяя по столбцу "+", добавляем в строку валидации нужные пестициды... 
 ) [more] 
 Таблицу с примером положил 
сюда  Код:   Private Sub Worksheet_Change(ByVal Target As Range) 
 Dim frm As String 
 frm = "" 
 If Target.Address = "$A$10" Then 
     For Each c In Range(Range("B1"), Range("H1")).Cells 
         If c.Value = Target.Value Then 
           RowCulture = c.Column 
           Exit For 
         End If 
     Next 
     For i = 2 To 7 
       If Cells(i, RowCulture).Value = "+" Then 
            frm = frm & "," & Cells(i, 1).Text 
       End If 
     Next i 
     With Range("B10").Validation 
         .Delete 
         .Add Type:=xlValidateList, Formula1:=frm 
         .IgnoreBlank = True 
         .InCellDropdown = True 
         .ShowInput = True 
         .ShowError = False 
     End With 
 End If 
 End Sub