# Excelオブジェクトを作成
$excel = New-Object -ComObject Excel.Application
# Excelウィンドウを非表示にする
$excel.Visible = $false
# Excelファイルを開く
$workbook = $excel.Workbooks.Open("C:\\path\\to\\file.xlsx")
# シートを選択
$worksheet = $workbook.Sheets.Item("Sheet1")
# ヘッダー行からフィルタを有効にする
$range = $worksheet.UsedRange
# オートフィルターが存在するかどうかをチェックする
if (-not $range.AutoFilter) {
# オートフィルターが存在しない場合は、新しいオートフィルターを追加する
$range.AutoFilter()
}
# カラム名と複数の絞り込み条件を指定して、データを絞り込み
$filterColumn = "Column1"
$filterValues = @("Value1", "Value2", "Value3")
foreach ($value in $filterValues) {
$range.AutoFilter($filterColumn, $value)
}
# 絞り込まれたデータを取得
$data = $range.Offset(1).SpecialCells(12).Value2
# 絞り込みを解除
$range.AutoFilter()
# Excelファイルを保存
$workbook.Save()
# Excelファイルを閉じる
$workbook.Close()
# Excelオブジェクトを解放
$excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
Remove-Variable excel
# 結果を表示
$data