Cx=INDIRECT(ADDRESS(COUNTIF(B:B,">=" & Bx),1))
Значения года рождения должны быть уникальными.
Если данные начинаются со строки с номером больше 1 - добавьте правильное число к значению COUNTIF ().
Я хочу создать новый столбец данных из одного столбца, отсортированного по другому столбцу.
Проще всего объяснить на примере. На самом деле это не то, чем я занимаюсь, но я думаю, что это хорошо объясняет. Допустим, в столбце А имена людей в алфавитном порядке:
Адам
Бетти
Колин
Дебби
и в столбце B указан год их рождения:
1985 г.
1973 г.
1954 г.
1973 г.
Я хотел бы создать столбец C, в котором перечислены имена людей по годам их рождения:
Колин
Бетти
Дебби
Адам
Это должно быть сделано способом без изменения или сортировки столбца A или B.
Это должно быть сделано способом, который автоматически обновит столбец C, если столбец A или B будет отредактирован.
Спасибо! (Я работаю в Excel на Windows 10, если это имеет какое-либо значение.)
Cx=INDIRECT(ADDRESS(COUNTIF(B:B,">=" & Bx),1))
Значения года рождения должны быть уникальными.
Если данные начинаются со строки с номером больше 1 - добавьте правильное число к значению COUNTIF ().
Это было бы легко, если бы годы в столбце 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))
и скопировать вниз:
Студент @ Гарри, по какой-то причине я не нашел формулы, которые мне были нужны раньше. Когда я не мог вернуться на эту страницу в течение нескольких дней, небольшое исследование нашло мне формулу 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))
В любом случае я хотел бы поделиться тем, что у меня было, как оно работает, и немного по-другому. Но, вероятно, ответ от ученика Гарри лучше, так как он использует меньше столбцов, чтобы добраться туда. (Возможно, я мог бы объединить некоторые и использовать меньше столбцов с моим методом.)