2016-05-02 15 views
0

Привет смотрите мою структуру первенствоватьВыбрать столбцы на основе нескольких значений в Excel

id value 
1 e 
2 rrr 
3 ttt 
4 ghy 

Как я могу выбрать все строки с иметь идентификатор 1,2,4.

В

данных-> Фильтр

я могу выбрать идентификатор с помощью флажка. Но это длинный процесс, если у меня 1000 или 2000 записей. Поэтому мне нужно дать id, разделенный запятой или любым специальным символом.

Есть ли способ для этого?

Пожалуйста, помогите.

+0

Непосредственно связано с программированием. Какие и сколько значений вы хотите выбрать? Если это числовое поле (похоже, оно есть), вы также можете использовать параметр числовых фильтров. Какую версию Excel вы используете? – Spidey

ответ

1
Dim MyArray As Variant 

MyArray = Split(Range("C1"), ",") 
    ActiveSheet.Range("$A$1:$B$5").AutoFilter Field:=1, Criteria1:=Array(MyArray), Operator:=xlFilterValues 
End Sub 

С помощью этого введите значения, которые вы хотите разделить запятой в ячейке C1, например 1,2,3,12,16

+0

Я не хочу делать лишнюю колонку в excel, я хочу выбрать все детали, имеющие id = 1 или 2 или 3. Так же, как фильтр данных в excell. Если мы фильтруем с id = 1, тогда я получаю все ячейки и столбцы id = 1. –

+0

Итак, вы хотите отфильтровать свои данные по определенным значениям? Вы точно описываете, для чего построен фильтр данных. –

+0

Да. Но в фильтре данных мне нужно выбрать идентификатор заказа, щелкнув соответствующий флажок. Но что я делаю, если у меня 5000 идентификаторов, и мне нужно выбрать только данные для данного 200 id. Очень сложно выбрать каждый флажок один за другим для большой записи. –

0

Вы также можете использовать формулу массива, например, если критерии в С2 в виде: -

,1,2,4, 

введите в D2, используя CtrlСдвигВведите

=IFERROR(INDEX($B$1:$B$1000,SMALL(IF(ISNUMBER(FIND(","&$A$1:A$1000&",",$C$2)),ROW($A$1:A$1000)),ROWS(D1:D$1))),"") 

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

enter image description here

+0

Я не хочу делать дополнительный столбец в excel, я хочу выбрать все детали, которые имеют id = 1 или 2 или 3. Так же, как фильтр данных в excell. Если мы фильтруем с id = 1, тогда я получаю все ячейки и столбцы id = 1. –

+0

ОК, ну, вы можете поместить результаты на отдельный лист, но выглядит так, как будто решение VBA лучше для вас. –

+0

в фильтре данных мне нужно выбрать идентификатор заказа, установив соответствующий флажок. Но что я делаю, если у меня 5000 идентификаторов, и мне нужно выбрать только данные для данного 200 id. Очень сложно выбрать каждый флажок один за другим для большой записи –

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