Фильтрация таблицы для создания другой таблицы в Excel - PullRequest
0 голосов
/ 24 февраля 2020

Мне нужно получить значения из таблицы, где выполняется условие. Например, у меня есть имена, и мне нужно взять все значения из таблицы, где появляется имя. Например, таблица состоит из даты, имени, расходов:

Date        Name    Expenditures
2019-01-28  Sara    2.45
2019-04-26  John    32.67
2019-05-07  Peter   55.88
2019-06-14  Sara    62.09
2019-07-03  Sara    12.94
2019-09-30  Peter   5.64

Мне нужно получить все расходы, которые были сделаны Сарой, и Date дней, когда это было сделано. Результат должен быть следующим:

Date        Name    Expenditures
2019-01-28  Sara    2.45
2019-06-14  Sara    62.09
2019-07-03  Sara    12.94

Мне нужно, чтобы это отображалось в виде таблицы, поэтому фильтрация здесь не работает. В основном у меня есть большая таблица, как упоминалось в первом фрагменте кода, и мне нужно создать другую таблицу с такой же структурой, но только с фильтрацией по Name.

Ответы [ 2 ]

1 голос
/ 24 февраля 2020
Sub test()

Dim allData As Range, criteriaRng As Range, i As Long

Set allData = Range("A1").CurrentRegion

For i = 1 To allData.Rows.Count
    If UCase(allData(i, 2)) = "SARA" Then
    If criteriaRng Is Nothing Then
        Set criteriaRng = allData.Range(Cells(i, 1), Cells(i, allData.Columns.Count))
        Else
        Set criteriaRng = Union(criteriaRng, allData.Range(Cells(i, 1), Cells(i, allData.Columns.Count)))
    End If
    End If
Next

criteriaRng.Copy
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("A11")

Application.CutCopyMode = False

End Sub

enter image description here

0 голосов
/ 24 февраля 2020
  1. Данные:
    data

  2. Выберите любую ячейку внутри таблицы => Вставить => Сводная таблица = > OK

  3. Проверьте все поля на правой панели в следующем порядке: Дата, Имя, Расходы. pivot fields

  4. Щелкните правой кнопкой мыши по месяцу в сводной таблице => Разгруппировать ... Ungroup date

  5. Щелкните правой кнопкой мыши по дате в сводной таблице => Настройки поля ... Field settings

  6. Во вкладке «Итоги и Фильтры »выберите« Нет ».

  7. На вкладке« Макет и печать »выберите« Показывать метки элементов в табличной форме ».
  8. «ОК».
  9. Отфильтруйте таблицу, используя правую панель. filtering

  10. Результат:
    result

...