Выберите подмножество таблицы Excel с учетом значения данного столбца - PullRequest
0 голосов
/ 26 января 2019

У меня есть таблица в Excel, подобная следующей:

col1 col2
A    1
B    0
A    2
B    2
B    3

Мне не удалось найти способ выбора подмножества таблицы, подобного этой, с помощью функции Excel.

col11 col22
B    0
B    2
B    3

на основе значения "B" столбца col1 или просто можно выбрать col22' из заданного подмножества.

Я хотел бы иметь решение, которое не требует ни VBA, ни формулы массива. Я нашел в Интернете функцию FILTER , но она еще не доступна, а Структурированные ссылки не имеет такой функции.

Я хотел бы использовать, например, результат col22 в качестве столбца в другом месте моей таблицы. Другие языки, такие как R, предоставляют функцию subset , которая делает это довольно простым способом. В Excel действительно легко фильтровать с помощью интерфейса Excel (кнопка фильтра), но я не знаю функции, которая делает что-то подобное программно.

1 Ответ

0 голосов
/ 26 января 2019

Предполагая, что col1 - это A, а col 2 - это B, а col1 и col2 вашего результирующего набора - это E и F соответственно, попробуйте эту формулу в столбце C: =IF(A2=$E$2,MAX($C$1:C1)+1,0)

Теперь, в ячейке E2 (я оставил первую строку для заголовка), я физически набрал «B», чтобы сделать это источником ввода и с учетом динамического отчета. для стольких ячеек, сколько вы хотите, в следующей формуле будет показано только общее количество «B» в вашем входном источнике: =IF(ROW(A2)>MAX(C:C),"",E2) Обратите внимание, что я не исправил ячейки с $, поскольку ваша следующая строка зависит от бывший.

Ячейка F2 (верхняя часть поля col2 для набора результатов) включает в себя: =INDEX(B:B,MATCH(G2,C:C,0)) и в G2 введите: =IF(E2="","",G1+1) и скопируйте оба значения, если у вас есть формулы в столбце E (или в наборе результатов col1).

Причина операторов IF для форматирования, а не для отображения ошибок при неудачных поисках.

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