Каков наилучший способ иметь формулу Excel или код VBA для сопоставления со списком - PullRequest
0 голосов
/ 09 августа 2011

у меня есть лист Excel с двумя столбцами

Имя и Город

Есть много строк с одним и тем же городом (но каждая строка имеет свое имя)

Итак, вот пример:

|| Имя || Город ||
| Джо | NYC |
| Билл | NYC |
| Том | Нью-Джерси |

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

Итак, в этом примере раскрывающийся список будет отображать NJ и NYC, а если я выберу NYC, он покажет:

"Джо, Билл" в клетке

Есть предложения, возможно ли это?

Ответы [ 2 ]

1 голос
/ 11 августа 2011

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

Если ваша таблица, как показано в A1: B3, создайте вспомогательный столбец в столбце C, как показано ниже

Для первой строки вспомогательная формула будет = IF (B1 = SelectedCity, A1 & ",", "") Для второй строки вспомогательная формула будет = C1 & IF (B2 = SelectedCity, A2 & ",", "") Скопируйте эту вторую строку для всех оставшихся строк.

Эта формула создает список имен, разделенных запятыми, в зависимости от выбранного города.

Наконец, обрежьте лишнюю запятую в конце строки, разделенной запятыми, по формуле = IF (RIGHT (C3,2) = ",", LEFT (C3, LEN (C3) -2), C3).

Это строка, которая вам нужна.

1 голос
/ 09 августа 2011

Первая часть, выпадающий список - используйте проверку данных. Смотрите ссылку

Создание зависимых раскрывающихся списков, содержащих уникальные уникальные значения в Excel

Часть 2, обновить ячейку на основе выбора:

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

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