2016-02-03 3 views
2

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

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

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

Так что, короче, мне нужно брать только ячейки от Range_Example, которые находятся под ячейками, которые идентичны ячейкам, которые находятся выше C5 (где я хочу, чтобы список прошел). Обратите внимание, что Example_Range находится на другом листе, чем лист, который содержит C5.

Я знаю, что могу вставлять формулы в поле Source в Data Validation, но я не знаю, как построить этот тип формул. Любая помощь будет оценена!

Вот практический пример:

У меня есть эти данные в «Лист2»:

enter image description here

И я хочу, чтобы создать список, используя Проверка данных, в красной ячейке в "Лист1":

enter image description here

Мне нужно ЛИС t, чтобы содержать 20,15,10, потому что в «Sheet1», выше красного квадрата, это вход, который я получил. Если, однако, две ячейки над красной имеют «Мазда» и «Лантис», я бы хотел, чтобы список был заполнен только 45.

Так что мой диапазон - это весь 4-й ряд в «Sheet2», но я не хотите, чтобы все элементы этого диапазона, только те, у кого есть ячейки над ним, которые идентичны ячейкам над красной ячейкой (где список появится) в «Лист1».

ответ

1

Это немного запутанным, но я нашел способ для достижения этой цели:

В листе 2

  1. клеток A6: =IF(AND(A2=Sheet1!$A$2,A3=Sheet1!$A$3),A4,"x"), перетащить на колонке Е
  2. ячейки А7: =IF(A6="x","-",1)
  3. ячейка B7: =IF(B6="x","-",MAX($A7:A7)+1), перетащить на E7
  4. ячейка G7: =IFERROR(INDEX($A$6:$E$6,MATCH(G6,$A$7:$E$7,0)),"X"), перетащить на K7
  5. создать пособие для объема, определенного диапазона, как имя list, который относится к: =OFFSET(Sheet3!$G$7,0,0,1,COUNT(Sheet3!$G$7:$K$7))

Затем используйте список в качестве проверки данных в ячейке A4 лист 1.

Скриншот для полного просмотра изображения (пример Mazda Lantis, но я тестировал для других.):

enter image description here

+1

работает как шарм .. спасибо! – Cauthon

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