здравстуйте. я очень тупенький в екселе и не могу никак сообразить, как подправить формулу.
на этом форуме нашел такую формулу
Код
=ЕСЛИОШИБКА(ВПР("*"&E2&"*";$A$2:$B$397;2;);" ")
мне нужно найти значение из столбца "Е" в столбце "А" и к нему подставить соответствующее столбцу "А" значение из столбца "В".
формула работает в принципе, НО 1. она подставляет почему-то к пустым ячейкам значения - синим закрасил 2. не отличает 1/01-18 от 31/01-18 и подставляет не правильное значение, т.е вычленяет, а это не правильно.
помогите пожалуйста.
я уже мозги сломал все ))) пример прикладываю.
здравстуйте. я очень тупенький в екселе и не могу никак сообразить, как подправить формулу.
на этом форуме нашел такую формулу
Код
=ЕСЛИОШИБКА(ВПР("*"&E2&"*";$A$2:$B$397;2;);" ")
мне нужно найти значение из столбца "Е" в столбце "А" и к нему подставить соответствующее столбцу "А" значение из столбца "В".
формула работает в принципе, НО 1. она подставляет почему-то к пустым ячейкам значения - синим закрасил 2. не отличает 1/01-18 от 31/01-18 и подставляет не правильное значение, т.е вычленяет, а это не правильно.
помогите пожалуйста.
я уже мозги сломал все ))) пример прикладываю.lok888
Public Function LOK(RR As Range, S As String) As String If S = "" Then Exit Function For Each R In RR If InStr(R.Value, S) > 0 Then If Not IsNumeric(Mid(" " & R.Value, InStr(" " & R.Value, S) - 1, 1)) Then LOK = R.Cells(1, 2).Value Exit Function End If End If Next R End Function
[/vba]
С помощью UDF [vba]
Код
Public Function LOK(RR As Range, S As String) As String If S = "" Then Exit Function For Each R In RR If InStr(R.Value, S) > 0 Then If Not IsNumeric(Mid(" " & R.Value, InStr(" " & R.Value, S) - 1, 1)) Then LOK = R.Cells(1, 2).Value Exit Function End If End If Next R End Function
Обратите внимание, что диапазон на одну (или несколько) строк больше реального - у Вас 157 строк, в формуле 158 (можно больше, но без фанатизма)_Boroda_