2014-10-27 5 views
1

У меня есть крупная таблица Excel с несколькими столбцами информации о событиях, произошедших для компании-события, с подробностями каждого события в разных колонках. (Я только начинаю с этого, потому что столбцы, которые мне нужно искать/сортировать, не являются самым левым столбцом, поэтому я не верю, что могу использовать VLOOKUP для этого). Я называю этот лист DB (моя аббревиатура для «базы данных»)Поиск и сортировка значений, возврат соседних ячеек

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

В столбце базы данных H у меня есть формула, которая ищет столбец G и возвращает количество раз, когда использовалось каждое местоположение события. Если местоположение происходит только один раз, оно явно возвращает 1 в столбце H. Если это происходит более одного раза, первый экземпляр возвращает число вхождений, а другие экземпляры возвращают ноль. Таким образом, у меня есть только ненулевой номер для каждого местоположения один раз.

То, что я хотел бы сделать на другом листе (в той же книге), представляет собой динамический список результатов столбца H в порядке убывания, а рядом с ним отображает соответствующие местоположения событий из столбца G. Итак по сути, у меня будет список самых популярных мест событий, а также как часто они используются. Когда я добавлю в таблицу электронных таблиц, этот список автоматически обновится.

Я знаю, что для «сортировки» номеров столбцов H я мог бы легко использовать LARGE для поиска наибольшего числа, затем следующего по величине, затем следующего и т. Д. Но проблема 1 заключается в том, что если использовались два местоположения событий столько же раз, это создает проблему для LARGE. Проблема 2 заключается в том, что я не могу найти способ вернуть информацию из столбца G рядом с этими результатами.

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

+0

Вам нужна «сводная таблица». –

+0

Возможно, вы сможете объединить [= RANK] (http://office.microsoft.com/en-gb/excel-help/rank-HP005209231.aspx) для решения проблемы LARGE с помощью [INDEX] (http://office.microsoft.com/en-gb/excel-help/index-function-HP010069831.aspx) [MATCH] (http://office.microsoft.com/en-gb/excel-help/match- function-HP010062414.aspx) для обработки «поиска влево». – pnuts

ответ

0

Я согласен с jbarker2160 в том, что сводная таблица - это путь. Однако, если вам действительно нужен стандартный лист, это должно сработать для вас.

Я собираюсь назвать ваш второй лист DB2. Скажем, A1 имеет название Times Used и B1 имеет название Название места. Я также собираюсь предположить, что у БД есть заголовки заголовков.

На ячейки DB2 A2 введите формулу =DB!H2

На ячейку В2 DB2 введите формулу =DB!G2

Теперь, заполнить вниз обе ячейки действительно долгий путь. Он должен быть заполнен до максимального количества событий, а не максимального количества мест. Пройдите мимо вашего текущего количества событий, чтобы вам не нужно было заполнять позже, когда вы добавляете больше записей в БД. Вы столкнулись с проблемами при добавлении события в новое место встречи, но лучше всего избежать этих проблем, если сможете.

Последнее, сортировать по колонке А и отфильтровывать 0.

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