Я неопытный в функциях Excel и мне нужна помощь в следующем сценарии:
Таблица I имеет 2 столбца:
X Y
3.2 result
4.7 result
1.2 result
Таблица II содержит следующие столбцы:
A B C D
1 1.2 0.0 2.3
2 4.1 3.2 0.0
3 0.0 4.7 0.0
Я попытаюсь проиллюстрировать, что я хочу сделать в C ++ / C # / Синтаксис программирования Java:
В Y [1] я хочу сохранить:
foreach (int value in TableII) //look for X[1] in Table 2
if( value == X[1] ){ //when you find it,
return A[value.rowNumber]; //return the corresponding value from A
//break;
}
Вдругими словами, я хочу найти X [1] в таблице II (она всегда будет там и всегда только один раз) и вернуть соответствующее значение из столбца A [того же индекса, что и совпадение].
Я посмотрел на HLOOKUP, но это еще не все, что только одна команда.Пожалуйста, помогите.
[EDIT]
Я пробовал это =INDEX(Column1,IFERROR(MATCH(I2,Column2,0),IFERROR(MATCH(I2,Column3,0),IFERROR(MATCH(I2,Column4,0),IFERROR(MATCH(I2,Column5,0),IFERROR(MATCH(I2,Column6,0),IFERROR(MATCH(I2,Column7,0),IFERROR(MATCH(I2,Column8,0),MATCH(I2,Column9,0)))))))))
Но я получаю "больше уровней вложенности, чем допустимо в текущемформат файла "ошибка.Если я удаляю только один IFERROR(MATCH(I2,Column8,0)
, то это работает.Но мне нужны столбцы со 2 по 9, где столбец 1 содержит индекс.
Я думал, что в Excel 2007 и 2010 больше нет ограничений на вложение.Что дает?
(Для любого новичка в Excel, читающего это, «Столбец1» и т. Д. Создаются путем выбора столбца, щелчка правой кнопкой мыши на выбранном элементе и «Определить имя».)
[EDIT2]
Таким образом, я «решил» мою проблему с вложением, разделив формулу на 2 части, с +
, и возвращая 0 в случае, если нет совпадения ни с одной стороны.Таким образом, у вас либо something + 0
, либо 0 + something
, так что это работает.
Вот формула, которую я сейчас использую:
=INDEX(Column1, IFERROR(MATCH(I3,Column2,0),IFERROR(MATCH(I3,Column3,0),IFERROR(MATCH(I3,Column4,0),IFERROR(MATCH(I3,Column5,0),IFERROR(MATCH(I3,Column6,0),IFERROR(MATCH(I3,Column7,0),0))))))
+
IFERROR(MATCH(I3,Column8,0),IFERROR(MATCH(I3,Column9,0),0))
)
Я принял ответ Криса,как он делал большую часть работы, но я все еще хотел бы знать, является ли мой обходной путь хорошей практикой и нет ли более короткого / лучшего способа сделать это.
Спасибо.