Использование формулы INDIRECT во многих диапазонах - PullRequest
0 голосов
/ 01 ноября 2018

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

Я пытаюсь применить ограниченные выпадающие списки на основе предыдущего выбора. Пожалуйста, найдите картинку:

Данные (столбцы A, B)

Раскрытия (G, H)

Что мне нужно, так это чтобы пользователь выбрал какую-то конкретную компанию в столбце G. У него будет ограниченное раскрывающееся меню в столбце H. Итак, все, что мне нужно, это использовать формулу INDIRECT через проверку данных (меню - Данные), но для этого мне нужно получить имя для каждого диапазона в столбце B, который будет доступен (для той же компании), поэтому имя эти диапазоны должны иметь точное название для каждой компании (a, b, c ... и т. д.).

Проблема в том, что у меня есть сотни компаний. У вас есть идея, как я могу продолжить макрос, который распределяет эти имена по всем диапазонам в столбце B с именами согласно столбцу A?

Если у вас есть какая-то другая идея, как я могу решить эту проблему, этого будет достаточно и для меня. Спасибо.

Picture

Franta

1 Ответ

0 голосов
/ 02 ноября 2018

Лучшим подходом здесь является использование OFFSET для формулы списка проверки данных.

В H2 применить список проверки данных, используя

=OFFSET($B$1,MATCH($G2,$A:$A,0)-1,,COUNTIFS($A:$A,$G2),1)

Что это делает:

  • Находит строку, содержащую первый экземпляр компании в столбце A (MATCH($G2,$A:$A,0))
  • Подсчитывает количество экземпляров компании в столбце A (COUNTIFS($A:$A,$G2))
  • Создает смещение диапазона от B1 путем совпадения строки -1 и изменяет его размер до числа компании
  • Это диапазон, используемый для проверки

Примечание: это зависит от сортировки компаний, как показано в ваших данных образца

...