Страницы: 1
RSS
Определить пересечение строки и столбца при нескольких условиях
 
Помогите пожалуйста , как можно вывести значение которое попадается на пересечении строки и столбца, при том что вариантов значение немало. Вот пример: при значении 2м62, типом профиля 2, норма расхода топлива 3000 , должно выдавать значение 25.9. Прошу помогите пожалуйста  
Изменено: Rost_55 - 15.12.2019 16:06:42
 
Цитата
при том что вариантов значение не мало
Для определенной серии тепловоза это только одно значение
 
извиняюсь, я подразумевал весь диапазон, прикрепил немного измененный вариант, это более корректно должно быть  
 
Вы прикрепите пример в формате Excel и покажите, что вы изменяете и где выводить результат
 
SUMIF+INDEX+MATCH  или SUMPRODUCT в помощь, только они с картинками не работают.
По вопросам из тем форума, личку не читаю.
 
Цитата
Kuzmich написал:
Вы прикрепите пример в формате Excel и покажите, что вы изменяете и где выводить результат
вот  пример отдельно  
Изменено: Rost_55 - 15.12.2019 16:23:30
 
Почему бы не создать индекс с "Серия тепловоза" и "Тип профиля", тогда только "Index" и "Match" ?
 
я только начинаю осваивать ексель, прежде чем задавать вопрос искал ответ в предыдущих тегах, к сожалению, не смог разобраться. Возможно просьба простая и глупая, но хочется разобраться

у меня в гугл таблицах без лишних значений диапазоны получились, не знаю почему в екселе всё подряд, извиняюсь заранее
 
=INDEX(C4:J15;B20-1+MATCH(B19;A4:A15;);MATCH(B21;C3:J3;))
Изменено: БМВ - 15.12.2019 16:38:11
По вопросам из тем форума, личку не читаю.
 
у меня истерика , вы крутой. Спасибо большое!

а для чего там писать - 1?   (В20-1)
 
чтоб компенсировать сдвиг на одну строку, ведь поискпоз выдаст например 1, а вы хотите сопоставление с 2. 1+2=3, а не 2.
По вопросам из тем форума, личку не читаю.
 
Макрос в модуль листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B19:B21")) Is Nothing Then
Application.EnableEvents = False
Dim FoundSer As Range
Dim FoundTip As Range
Dim Rasxod As Range
   Set FoundSer = Columns(1).Find(Range("B19"), , xlValues, xlWhole)
   Set FoundTip = Range(Cells(FoundSer.Row, 2), Cells(FoundSer.Row + 3, 2)).Find(Range("B20"), , xlValues, xlWhole)
   Set Rasxod = Rows(3).Find(Range("B21"))
   Range("E19") = Cells(FoundTip.Row, Rasxod.Column)
    End If
Application.EnableEvents = True
End Sub
 
Ого, спасибо большое, но это слишком сложно для меня, я в дальнейшей работе не смогу  адаптировать этот макрос.  
 
Макрос срабатывает при изменении в ячейках "B19:B21"
Страницы: 1
Наверх