2015-08-22 3 views
1

У меня есть длинный стол в excel, который сопоставляет скорость с перечнем углов. Углы являются 16-битными целыми числами, поэтому [-180°,180) соответствует [-32768,32768).Формула массива на основе MATCH (2007), не повторяющая требуемый массив

Sample worksheet 1

Я пытаюсь создать обратную карту из этих данных (список скоростей для каждого угла).

Sample worksheet2

Для того чтобы сделать это, я должен искать каждую строку, чтобы увидеть, если угол присутствует в скорости этой строки. Я хочу, чтобы перечислить все матчи, поэтому в первой колонке я бы наименьшую скорость согласования, второй столбец второй самый низкий, и т.д.

Формула массива Я попытался было:

=SMALL(IF(NOT(ISERROR(MATCH($AA2,OFFSET($A$3:$A$597,0,3,1,9),0))),$A$3:$A$597,""),1) 

Моя надежда что функция OFFSET будет работать для каждой ячейки в диапазоне $A$3:$A$597, но, по-видимому, она просто делает это один раз. Я также пробовал некоторые махинации с конкатенацией и CELL("row"), но получил тот же результат. Функция SMALL просто так, что я могу выбрать n-е наименьшее значение.

+0

Можете ли вы добавить первые 5-10 ожидаемых результатов? – Jeeped

ответ

2

массива введите следующую команду в ячейку AB2:

=IFERROR(INDEX($A$3:$A$597,SMALL(IF($AA2=$D$3:$L$597,ROW($D$3:$L$597)-MIN(ROW($D$3:$L$597))+1,""),COLUMN(A1))),"") 

Затем скопировать столько столбцов, сколько вам нужно.

Затем скопируйте диапазон, который в настоящее время содержит эти формулы, насколько вам нужно.

+0

Красивые. Работает отлично. – knockonwood