Предполагая, что значения, которые вы хотите вернуть, всегда числовые, я думаю, что это будет работать:
=IFERROR(VLOOKUP(INPUTCELL,$A$1:$B$3,2,0),0)+IFERROR(VLOOKUP(INPUTCELL,$C$1:$D$3,2,0),0)
Это будет работать только в Excel 2007, но может быть изменено для 2003. Там может быть более сексуальный путь, но это первое, о чем я подумал. Обратите внимание, что если «Test 1» находится в обоих столбцах, например, он добавит оба соответствующих значения.
Обновленный ответ: как предлагали другие комментаторы, я бы переоценил макет вашей электронной таблицы. Предполагая, что вы не можете изменить его, единственное масштабируемое решение, которое я вижу, это через VBA. Я не эксперт по VBA, так что, вероятно, есть более эффективные способы кодирования этого решения, но вот что я получил:
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- В редакторе VBA нажмите Вставить> Модуль.
- Вставьте следующий код:
Public Function GetValue(rngSearch As Range, rngInput As Range) As Variant
Dim cell As Variant
For Each cell In rngSearch
If cell.Value = rngInput.Value Then
GetValue = cell.Offset(0, 1)
Exit For
End If
Next
End Function
4 Чтобы использовать функцию типа «= GetValue(SearchRange, InputCell)» (без кавычек) в нужную ячейку, где InputCell - это ячейка с надписью «Test 1», «Test 2» и т.д., А SearchRange - это область, которую вы используете. в поиске.
Вам нужно будет включить макросы, чтобы это работало.