解決済み

powershellでエクセルをコピペをしたい。

  • すぐに回答を!
  • 質問No.9565147
  • 閲覧数108
  • ありがとう数2
  • 気になる数1
  • 回答数2
  • コメント数0

お礼率 77% (203/262)

宜しくお願い致します。

powershellを使い、エクセルのBook甲をBook乙にコピペしたいと考えています。

例えば、Book甲には、
A列:名前
B列:性別
となっており、性別が「男」のみをBook乙にコピーできればと思っています。

フィルターを使いましたが、非可視の部分もペーストされてしまう(この場合、「女」もペーストされ非可視で見えていない状態になっている。)ので、できれば、「男」のみをペーストできればと思っております。

お分かりになる方がいらっしゃいましたら、是非、ご教示ください。
宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 100% (1/1)

PowerShellでExcelを直接扱う方法は複数あるのですが、一番簡単にやる方法は
PowerShellギャラリーで公開されているコマンドレットをダウンロードして使用する方法かと思います。
ダウンロードサイトは https://www.powershellgallery.com/packages/ImportExcel/5.4.0
このwebページから管理者モードで、install-moduleに書かれているインストール命令でダウンロード
できます。

次の例は、Member.xlsxブックの1つ目のシートにデータがあり、項目名として名前と性別が
付いているという簡単な例を想定した場合の例です。
性別が男子のみを抽出しNewMember.xlsxを作成しています。

実行例
 $data=Import-Excel C:\samplel\Member.xlsx
 $data.Where{$_.性別 -eq "男子"}|Export-Excel C:\Sample\NewMember.xlsx
以上が実行例です。
コピーとペーストではなく、シートを読んでシートを作成している形になります。

なお、このコマンドレットはxlsxのみ対応しxlsは対応していないようです。
また、現在のバージョンでは使ってみますと大きなデータの場合は遅いというのが実感ですが
数千件程度であれば即座に終わると思います。

趣味ではなく、業務で使うのであれば、xoBlosのような製品が世の中に出ているので
有償でもそういうの考えても良いかもしれません。指定が簡単ですし
行が100万列が20というファイル(ブック)が数十個あって、一度に処理しても
数十秒で処理が終了してしまうので。
たまたま、私は使っているもので。
お礼コメント
Fujjy

お礼率 77% (203/262)

大変、勉強になりました。ありがとうござます。色々、試したいと思います。
投稿日時 - 2018-12-24 09:32:47

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 42% (252/599)

他カテゴリのカテゴリマスター
なんでブック(*.xlsx)をPowershellで他のブックにコピーする必要があるのでしょうか?
マクロやVBAで処理できればそちらの方が簡単に思えるのですが?
お礼コメント
Fujjy

お礼率 77% (203/262)

回答になっていません。「なんで」などという理由はお伝え出来かねます。
投稿日時 - 2018-12-24 09:35:51
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝でトクする時代へ!感謝経済に参加しよう!

ピックアップ

ページ先頭へ