1

Я хочу создать новый столбец данных из одного столбца, отсортированного по другому столбцу.

Проще всего объяснить на примере. На самом деле это не то, чем я занимаюсь, но я думаю, что это хорошо объясняет. Допустим, столбец А имеет имена людей в алфавитном порядке:
Адам
Бетти
Colin
Дебби

а в столбце B указан год их рождения:
1985
1973
1954
1973

Я хотел бы создать столбец C, в котором перечислены имена людей по годам их рождения:
Colin
Бетти
Дебби
Адам

Это должно быть сделано без изменения или сортировки столбца A или B.
Это должно быть сделано способом, который автоматически обновит столбец C, если столбец A или B будет отредактирован.

Спасибо! (Я работаю в Excel на Windows 10, если это имеет какое-либо значение.)

3 ответа3

0

Это было бы легко, если бы годы в столбце B были уникальными, но мы можем скорректировать дубликаты лет. В D1 введите:

=B1

и в D2 введите:

=B2+COUNTIF(B$1:B1,B2)*0.001

и скопировать вниз. Столбец D повторяет столбец B с дубликатами «не конфликтует». Это позволяет функции MATCH() извлекать все значения. Наконец, в С1 введите:

=INDEX(A:A,MATCH(SMALL(D:D,ROWS($1:1)),D:D,0))

и скопировать вниз:

0

Студент @ Гарри, по какой-то причине я не нашел формулы, которые мне были нужны раньше. Когда я не мог вернуться на эту страницу в течение нескольких дней, небольшое исследование нашло мне формулу RANK. (В новейшей версии Excel RANK обесценивается, поэтому я использовал более новую версию RANK.EQ. А потом я подумал о VLOOKUP, но, немного углубившись в поиск, я нашел INDEX MATCH, который кажется лучше, и вы тоже этим воспользовались.
Итак, вот что я придумала и как справилась с дублированием лет:ранжирование имен в таблицах по годам

(Мои формулы начинаются со строки № 2 из-за заголовков)
Столбец C формулы:

=RANK.EQ(B2,B$2:B$15,1)

Важно знать, как работает рейтинг. Если в позиции № 5 есть три предмета, все они получают ранг 5, и не будет предметов с рангом 6 или 7. Следующая позиция - ранг 8.

Столбец D формула:
в первой камере

=C2

и в последующих клетках

=C3+COUNTIF(C$2:C2,C3)

Это избавляет от дублирования рейтинга. Рейтинг увеличивается на 1, если в списке есть дублирующийся рейтинг выше. Таким образом, эти дубликаты 5 будут присвоены звания 6 и 7.

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

Формула столбца F объединяет все это:

=INDEX($A$2:$A$15,MATCH(E2,$D$2:$D$15,0))

В любом случае я хотел бы поделиться тем, что у меня было, как оно работает, и немного по-другому. Но, вероятно, ответ от ученика Гарри лучше, так как он использует меньше столбцов, чтобы добраться туда. (Возможно, я мог бы объединить некоторые и использовать меньше столбцов с моим методом.)

0
Cx=INDIRECT(ADDRESS(COUNTIF(B:B,">=" & Bx),1))

Значения года рождения должны быть уникальными.

Если данные начинаются со строки с номером больше 1 - добавьте правильное число к значению COUNTIF().

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .