Сопоставление столбца B с A, а затем сортировка B с расширенным выделением

Я должен наборы данных.

Первый набор - это просто набор идентификаторов.

Второй набор - это тот же набор идентификаторов и другие данные, связанные с каждым идентификатором.

Но второй набор идентификаторов не в том же порядке, что и первый набор.

Итак, как мне получить второй набор, совпадающий в том же порядке, что и первый набор, а также отсортировать элементы, связанные с ним?

Итак, вот несортированный пример:

введите описание изображения здесь

Мне нужно перейти от этого к следующему:

введите описание изображения здесь

Кто-нибудь знает самый простой способ сделать это, имея в виду, что второй набор должен быть отсортирован вместе с его отношениями?

JH

1 ответ

Прежде всего, я не знаю, есть ли у вас дубликаты идентификаторов в первом или втором, но мы их все равно рассмотрим.

Сначала создайте перечисление для хранения порядка сортировки того, что у вас есть в первой таблице.

 =IF(ROW(A2)=2,1,IF(B2=B1,A1,A1+1))

Это в основном просто сохраняет порядок, который у вас есть. Если это первая строка, которую вы используете, присвойте ей значение 1. Если идентификатор в текущей строке совпадает с предыдущим (a3 = alpha, a2 = alpha), сохраните прежний идентификатор (чтобы перечислялись дубликаты) одинаково). В противном случае увеличьте ID.

Затем в другой таблице перенесите созданный вами ID с формулой поиска - индексное совпадение, vlookup обе работают.

=INDEX($A$2:$A$5, MATCH(E2, $B$2:$B$5, 0))

Наконец, просто отсортируйте новый столбец поиска на второй таблице.

В качестве альтернативы, вы можете вырезать первый шаг перечисления их и просто использовать MATCH для идентификаторов таблицы 2 и идентификаторов таблицы 1, и он вернет позицию строки, в которой он находится.

=MATCH(id in second table, <array of IDs in first table>, 0)

Затем вы можете сортировать на основе этого. Это может быть или не быть более интуитивным, чтобы сделать это так или иначе.

Другие вопросы по тегам