Сортировать список динамически в Excel

371
wezten

В столбце A на листе Excel приведен список чисел. Я хотел бы отобразить эти числа в столбце C по порядку .

Столбец C должен обновляться автоматически при изменении столбца A, без необходимости что-либо переупорядочивать вручную.

1
Я не думаю, что это возможно в Excel, по крайней мере, без использования макроса. Фильтрация всегда выполняется вручную. Kevin Anthony Oppegaard Rose 6 лет назад 0
@KevinAnthonyOppegaardRose Это определенно * возможно * ;-) Смотрите мой ответ. robinCTS 6 лет назад 1
@robinCTS спасибо :) Узнай что-то новое каждый день. Отличное решение! Kevin Anthony Oppegaard Rose 6 лет назад 1
@KevinAnthonyOppegaardRose Если вы еще этого не сделали, попробуйте еще лучшее решение, предоставленное AFH. robinCTS 6 лет назад 0

1 ответ на вопрос

3
robinCTS

РЕДАКТИРОВАТЬ: Благодаря AFH формула может быть упрощена до SMALL()функции!


Это можно сделать с помощью очень простой нормальной формулы в таблице:

Worksheet Screenshot

Формула в C2:C8это:

=SMALL(A:A,ROW()-ROW($1:$1)) 


Таблица необходима для того, чтобы при вводе значения чуть ниже нижней части таблицы, т. Е. В A9, формула в столбце Cрасширялась вниз.

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

Хороший ответ, но я обнаружил, что `= IFERROR (SMALL (A: A, ROW () - 1)," ")` работает одинаково хорошо. В чем преимущество добавления `MATCH ()` и `INDEX ()`? И `ROW ($ 1: $ 1)` всегда возвращает 1, так почему бы не использовать литерал, который можно увеличивать, если есть еще строки заголовка? AFH 6 лет назад 1
@AFH Хороший улов! В INDEX () `/` MATCH () `вообще нет необходимости, и их использование не дает никаких преимуществ. (Я настолько привык к более сложной формуле, где они * необходимы *, что я забыл, что в этом простом случае они не были нужны.) Причина использования `ROW ($ 1: $ 1)` * точно *, так что если будет добавлено больше строк заголовка (или строк, вставленных над таблицей) ** после ** формулы, Таблица не сломается, и вам не нужно * корректировать литеральное значение для ее исправления. Это делает таблицу в значительной степени пуленепробиваемой. Я обновил ответ с еще более простой версией. Надеюсь, ты не против. robinCTS 6 лет назад 0
Давайте [продолжим это обсуждение в чате] (https://chat.stackexchange.com/rooms/78829/discussion-between-robincts-and-afh). robinCTS 6 лет назад 0

Похожие вопросы