2016-09-14 3 views
0

У меня есть таблица, в которой пользователи вводят разные данные на конец года. Каждый год может иметь несколько записей. Скажем, столбец А содержит год. Иногда пользователи не вводят годы в порядок (например, 2015, 2014, 2013 и т. Д.), А иногда между пробелами пробелы пробелы. Я пытаюсь использовать формулы для создания сводной таблицы данных по годам.Формула Excel для определения отдельного списка и сортировки значений

Некоторые примеры вход (скажем, это колонка А):

+---+------+ 
| | A | 
+---+------+ 
| 1 |  | 
+---+------+ 
| 2 | 2013 | 
+---+------+ 
| 3 | 2015 | 
+---+------+ 
| 4 |  | 
+---+------+ 
| 5 | 2014 | 
+---+------+ 
| 6 | 2015 | 
+---+------+ 
| 7 | 2015 | 
+---+------+ 
| 8 |  | 
+---+------+ 

И мой желаемый результат будет (скажем, в столбце С):

+---+------+ 
| | C | 
+---+------+ 
| 1 | 2015 | 
+---+------+ 
| 2 | 2014 | 
+---+------+ 
| 3 | 2013 | 
+---+------+ 

Обратите внимание, как там нет дубликатов, пробелы удаляются, а порядок сортируется по убыванию.

Я знаю, что мне нужно будет использовать формулу массива, и на самом деле у меня есть тот, который в основном работает (формула массива с сочетанием индекса, соответствия, суммы и счета). Проблема возникает, когда первая ячейка (A1 в моем примере ввода выше) пуста, формула не работает, но в противном случае она работает. Поскольку я не могу надежно сказать, что люди всегда будут запускать свои данные в ячейке A1, мне нужно исправить это.

Я не могу использовать макрос (который больше мой стиль в Excel, расширенные формулы определенно не являются), поскольку требование состоит в том, что оно сохраняется как файл .xlsx.

Спасибо за ваше время.

+0

Почему бы не показать свою формулу, которая * в основном * работает? –

+0

Честно говоря, это сложно, я хотел показать, что я действительно занимался некоторыми исследованиями, но я не хотел слишком сильно влиять на решения людей. Лично, когда я устанавливаю определенный путь, мне трудно отступать, поэтому я предпочитаю пропускать такую ​​информацию в таких ситуациях, но я понимаю, как это было бы полезно. – Soulfire

ответ

3

В С1 входят:

=MAX(A:A) 

и в C2 ввести формулу массива:

=MAX(IF(A:A<C1,A:A)) 

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

enter image description here

Формула массива должна быть введена с Ctrl + Сдвигом + Enter, а не только Enter ключа.

+0

Извините. Я знаю, что я уже говорил об этом раньше, но я действительно думаю, что мы не можем предположить, что ОП будут знать, чтобы соответственно внести поправки в полные колонки. И если они этого не сделают, если у OP действительно нет данных, распространяющихся вплоть до строки 1048576, поскольку они стоят, эти формулы совсем не рекомендуются. –

+0

Никогда даже не приходило в голову сделать что-то подобное. Появляется, чтобы работать просто отлично! Большое спасибо. – Soulfire

Смежные вопросы