2013-07-02 2 views
0

Я немного новичок в Excel, но до сих пор я получил некоторые из формул. То, что я сделал, создано формулой countifs для поиска определенных критериев в столбцах. Однако то, что я хочу сделать, основывается на том, что я искал для использования countif, я хочу отображать строки, которые искали в отдельном листе. Например, если я просмотрел столбец A и обнаружил, что 3 строки в столбце A имеют в них слово «Hello», я бы хотел распечатать строки, в которых есть слово «Hello» в столбце A. Есть ли простой или автоматический способ сделать это? Я не хотел бы делать это вручную с помощью фильтров. Если бы кто-нибудь мог помочь, это было бы здорово! Благодаря!Печать строк по критериям?

В качестве примера строк и столбцов будет выглядеть следующим образом:

Animal Owner Phrase 
Cat  Jack  Hello 
Dog  Jill  Bye 
Elephant Henry Hello 

В этом случае я хотел бы использовать COUNTIFS искать «Привет», который будет отображать строки на отдельном листе.

Cat  Jack  Hello 
Elephant Henry Hello 

Если у кого-то есть предложения по тому, как это сделать, это было бы весьма признательно. Благодаря!

+1

Лучший способ начать, чтобы включить записи макросов и затем вручную сделайте то, что вы хотите сделать. Затем выключите рекордер и используйте записанный код в качестве отправной точки. –

+0

Похоже, что функция VBA может быть лучшим подходом. Можете ли вы разместить небольшой образец данных (a несколько строк) и описать, где вы хотите, чтобы вывод печатался относительно столбцов в ваших данных, и строки, соответствующие критерию поиска риа? – ChrisProsser

+0

Строки очень длинные. Я просто искал определенные ключевые слова в столбцах, и мои счета отслеживали их. Я хотел бы распечатать их со всеми теми же заголовками столбцов, что и на исходной странице, но я просто хочу «вытащить их» так сказать и помещать их в отдельный файл excel со всеми одинаковыми заголовками столбцов. – user1871869

ответ

0

Почему бы не использовать встроенные фильтры в excel и отобразить только строки, соответствующие определенным критериям (или столбцы, где у вас есть счетчик> X, или каждый столбец), а затем распечатать это?

«Главная» ленты, панель «Редактирование, сортировка & фильтр

+0

Я хочу автоматизировать этот процесс. В настоящее время я пишу Visual Basic Code для этого. Спасибо за ваше предложение. – user1871869

+0

Подвесной стол - это то, что вы ищете. Или формулу массива с INDEX и SMALL. Если вы действительно хотите это в VBA (будет медленнее), то просто проведите по каждой строке таблицы и скопируйте эту строку в новый лист ниже предыдущей строки, если он соответствует вашим критериям. Дайте мне знать, если вам нужен кусок кода для этого. –

+0

О, конечно, я был бы признателен за некоторый код или схему, как это сделать, если это возможно. Я просто хочу получить представление о том, как подойти к этому. Благодаря! – user1871869

0

OK, если вы хотите сделать это в VBA:

Sub SortByCondition() 

Application.ScreenUpdating = False 

Dim i As Integer, r As Integer 
Dim rFirst As Integer, rLast As Integer 
Dim wSin As Worksheet, wSout As Worksheet ' I like to have variables when working on multiple sheets for clarity and ease of use 

Set wSin = Sheets("Raw") ' The sheet where you have unsorted data 
Set wSout = Sheets("Sorted") ' The sheet where you will copy the sorted data 

' This is to find the first and last row in your table... there are many other ways to do it 
With wSin.Cells(1, 1).CurrentRegion ' Replace with first cell in your table 
    rFirst = .Rows.Row + 1 ' Assumes the first line of your table is the header 
    rLast = .Rows.Count + .Rows.Row - 1 
End With 

r = 2 ' We'll start copy on row 2 in the output sheet 

For i = rFirst To rLast Step 1 

    If wSin.Cells(i, 3).Value = "Hello" Then ' I'm assuming we test for 'Hello' being in column C 

     Range(wSin.Cells(i, 1), wSin.Cells(i, 3)).Copy wSout.Cells(r, 1) ' We'll copy in columns A to C in the output sheet 
     r = r + 1 

    End If 

Next i 


Application.ScreenUpdating = True 

End Sub 
+0

Привет, спасибо за быстрый ответ! У меня есть еще один быстрый вопрос. Я понял, что сводная таблица может быть проще в ремонтопригодности в долгосрочной перспективе, так как мне, вероятно, придется добавлять/изменять строки вокруг. У меня просто был быстрый вопрос - я хочу поставить даты и строки, где фильтр значений находится в сводной таблице, - возможно ли это? Я заметил, что я могу получить номера там, хотя – user1871869

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