Excel 2007: список проверки данных с отфильтрованными данными - PullRequest
0 голосов
/ 17 января 2012

Я хотел бы иметь список проверки в ячейке D5 на листе 1.Элементы в этом списке должны динамически основываться на таблице на Sheet2, но мне нужны только те, где Column2 равен TRUE.Ниже приведен пример моей таблицы на Листе 2:

Column1 | Column2
Item1   | TRUE
Item2   | TRUE
Item3   | FALSE
Item4   | TRUE

На основе таблицы над списком проверки в ячейке D5 на Листе 1 должны содержаться только Item1, Item2 и Item4.Это как-то возможно (желательно без использования VBA)?

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

1 Ответ

0 голосов
/ 03 февраля 2012

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

Самый простой способ - перевернуть столбцы или сделать столбец 3 копией столбца 1, а затем использовать формулу, например.

Столбец1 |Столбец2 |Столбец3 Item1 |ИСТИНА |Item1 Item2 |ИСТИНА |Item2 Item3 |ЛОЖЬ |Item3 Item4 |ИСТИНА |Item4

{=INDEX($B$1:$C$100,SMALL(IF($B$1:$C$100="TRUE",ROW($B$1:$C$100)-ROW($B$1)+1,ROW($C$100)+1),1),2)}
    {=INDEX($B$1:$B$100,SMALL(IF($B$1:$C$100="TRUE",ROW($B$1:$C$100)-ROW($C$1)+1,ROW($C$100)+1),2),2)}

Это будут ваши первые 2 поля, они создают индекс, который дает вам 1-й и 2-й результат с ИСТИНОЙ.2-е число в конце формулы определяет, какой элемент в списке.когда вы вводите формулу, вы не можете просто ввести ее с помощью {}, оставить ее выключенной и нажать ctrl + shift + enter, чтобы завершить формулу, и она вставит их для вас, это очень важно для создания формулы индекса.

После создания индекса он будет обновляться на основе значений true / false.Если вы затем используете этот диапазон в раскрывающемся списке проверки данных, он обновится с индексом.

...