2016-12-15 2 views
0

я в настоящее время, используя формулу индекса/матч в ExcelВ первенствуют возвращение всего столбца в середине формулы

=index(P:P,Match(1,B:B="text")*(F:F="text2"),0)) 

Вместо того, чтобы знать заранее, что данные находятся в столбце P:P, это может быть установлено поэтому формула найдет правильный столбец из его заголовка? Например, обнаружение того, что столбец, который называется SAMPLES, который обычно находится в столбце P:P, был перенесен в столбец Q:Q, вместо этого формула будет использовать Q:Q?

EDIT: Я сделал некоторые успехи, теперь у меня есть 1 колонка быть гибким с

=index(A:Z,match(1,(B:B="text")*(F:F="text2"),0)match("samples",1:1,0)) 

Теперь, как я сделал бы столбцы B: B и F: гибкий знать столбец б всегда будет во главе «цвет» и столбец F по «типу»

+0

ссылаясь целые столбцы, что строительство оказывается чрезвычайно ресурсоемким тяжелым. У вас действительно есть данные, простирающиеся вплоть до строки 1048576? –

+0

Нет, только приблизительно 10 тыс. Строк. Но он очень изменчив. –

+0

Но, конечно, вы можете выбрать меньшую, хотя и достаточную верхнюю границу? Эта формула вынуждена обрабатывать более двух миллионов ячеек, что является удивительной суммой для одной формулы. –

ответ

1

Да - это Index-Match-Match идиома.

=Index(LookupRange, Row, Column) 

Это полный синтаксис Index. В вашей формуле, Index смотрит на колонке Р, Match выбирает строку, и вы не выбираете столбец, так что вы получаете колонки P.

=Index(P:P, Match("text2", F:F, 0)) 

Вы должны изменить P: P для обозначения весь лист (или его части, которые имеют данные), и добавить второй Match, чтобы найти столбец:

=Index(A:Z, Match("text2", F:F, 0), Match("SAMPLES", 1:1, 0)) 
     ^^^      ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
+0

Мне действительно нужно было бы сопоставить для каждого столбца в моем примере P: P, B: B и F: F, не могли бы вы привести пример того, какова будет правильная структура для этого. благодаря –

 Смежные вопросы

  • Нет связанных вопросов^_^