Давайте попробуем разбить это на более мелкие проблемы.
- У вас есть «типа» и «модель» информация, и вы хотите найти в листе 2 для матча
- Если вы нашли спичку, которую вы хотите использовать их для обозначения стоимости в листе 2
- ... и тогда вы хотите обратиться к этому значению, чтобы привести его в лист 1.
Мой подход был бы вдоль этих линий:
Мы можем использовать функцию MATCH
для поиска информации, а затем вернуть ее в пределах диапазона. Поэтому =MATCH("typeA", A4:A6)
должен дать нам ответ «1». Если мы используем MATCH для поиска позиции типов и моделей в листе 2, то мы можем использовать их в качестве координат для создания адреса ...
Учитывая координаты, например, «1,1», мы хотим сделать адрес. Функция ADDRESS
сделает это для нас! Например, =ADDRESS(1,1) will give $A$1
Затем мы можем использовать функцию INDIRECT
, чтобы посмотреть (и вернуть) содержимое этого адреса. В листе 1 =INDIRECT("$A$1")
вернет «Лист1».
Попытка булыжник, что вместе, я пришел с этим:
=INDIRECT("sheet2!"&ADDRESS(MATCH(A1, Sheet2!$A$1:$A$5), MATCH(C1, Sheet2!$A$1:$D$1)))
Это похоже на работу!
Как это выглядит? Есть ли какие-то детали, которые мне нужно объяснить лучше?
С уважением, AZ
выглядит великолепно. Просто любопытство: есть ли способ использовать это с двумя разными файлами (Лист 1 в fileX и sheet2 в файлеY)? Спасибо;) – thedev
INDIRECT может это сделать * если * оба листа открыты. Используйте '= INDIRECT ("[C: \ path \ excelfile.xls] Sheet1!" & ADDRESS (... и т. Д.))'. Если лист, на который вы ссылаетесь, закрыт, тогда он не будет работать - вы можете использовать VBA или стороннюю функцию: [ozgrid обсуждение на INDIRECT] (http://www.ozgrid.com/forum/showthread .php? t = 44975) (у меня нет опыта их использования). Для получения дополнительной информации о ссылках эта страница неплоха: [MS Help on linking] (http://office.microsoft.ком/EN-US/первенствует-помощь/о сшивании к другому-учебному пособию или-программе-HP005198424.aspx) – GnomeDePlume