2019.3.9 斎藤

エクセル黒魔術で、ファイル名を一括で変更する

エクセル黒魔術を活用する

プロローグ(とばしてください

あなたは、「ネ申エクセル」という言葉を聞いたことがあるだろうか。
本来は計算に使うエクセルを、文字と罫線を配置するためだけに使うことを揶揄する言葉だ。※1
理系出身の方なら、「こんな酷いエクセルを見た」という笑い話で盛り上がった経験があるだろう。情報系の学科を卒業した私も、一度や二度ではなくそのような場に居合わせてきた。しかし告白しよう。そのような場に渦巻く哄笑の中でひとり、冷たい汗が背中をつたう私がいたことを!
印刷会社の営業職を続けて10年余。私は日々「ネ申エクセル」と戯れ、そして慣れきってしまった……
いや、それだけではない。
見た目を整えるという「表のネ申エクセル」から遠く離れ、計算するでもなく書類を作るのでもない「裏のネ申エクセル」。いわば、「闇のエクセル術――エクセル黒魔術」とでも言うべきものに、私は取り憑かれてしまっているのだ。
※1  情報を再利用しにくくなったり、データ分析やRPAツールなどの機械的な処理が難しくなるので、良くないとされています。

こんにちは。営業部の斎藤です。今回は印刷会社(弊社だけ?)での、ちょっと変わったエクセルの使い方を紹介します。決して正道ではありませんが、あなたの業務にも役に立つかもしれませんよ。

エクセル黒魔術とは

 

エクセルと正規表現とコマンドプロンプトを活用します

 

エクセル黒魔術は、私一人が名付けているだけの、時短テクニックです。簡単にいうと、「エクセル」「正規表現(テキストエディタ)」「コマンドプロンプト(闇、黒き画面)」を活用して、作業の効率アップをはかります。いろいろな事に応用できますが、今回はその便利さを紹介するために一例を紹介しましょう。
※ 呪文である正規表現は、追加の道具が必要なため今回は扱いません。

 

テストケース:卒業アルバムの顔写真データに、出席番号と氏名のファイル名をつける。

 

想定ケース:
ある学校の卒業アルバム制作が進行中。生徒の顔写真は、出席順にカメラマンが撮影済。
納品の直前に、写真データも納品することになり、
すべての写真に【出席番号と生徒名】のファイル名をつけることに! さぁ手作業だと大変です……

 

左にデジカメのファイル名、右側にわかりやすいファイル名の画像

左の写真データに、右のようなファイル名を付けます。

 

材料:

          • 出席順に撮影された写真データ、出席名簿のエクセルファイル
          • 道具:(Windowsの想定です)
            エクセルとメモ帳
ダミーデータはこちらからダウンロードできます。

 

step1 出席番号から、納品ファイル名を作る

 

左列の名前から右列のファイル名を作ります

左側の客先支給の名簿から、納品ファイル名を作ります。

 

エクセルに慣れた方なら、文字列を結合する関数や、”&”演算子を使って処理すると思いますが、ここでは「邪道」としてテキストエディタを使います(今回はメモ帳でどうぞ)。

手順はこうです。
1.列を追加して、”組”、”番_“、”.jpg” でフィルする。
2.エクセルからメモ帳にコピペ。
3.タブを、置換して削除。ついでに、姓名の間のスペースも削除
4.エクセルに戻す。

 

メモ帳でタブを置換するには、タブをコピーして、置換メニューに貼り付けます。
ちょっと不便ですね。

 

エクセルデータをメモ帳にコピペすると、列の境目はタブ、行の境目は改行になります。これを利用して、メモ帳に貼り付けてからタブを置換することで、簡単に結合ができます。
(関数を使わないので、エクセルの再利用ができませんが、良いのです。エクセル黒魔術は一度きりの作業をいかに早く済ませるかがキモなのです!)

 

step2 写真データのファイル名一覧を、エクセルに取り込む

 

導かれしモノたち

 

魔術たるゆえん、「黒い画面」を召喚します。サンプルファイルのフォルダを開いてください。
おもむろにエクスプローラーのアドレスバーに呪文を打ち込みます。

 

C・M・D!

バルス!

“cmd” と打ち込んで、エンターです!

 

黒き画面、コマンドプロンプトが現れます。この画面からWindowsに文字コマンド(呪文)を入力して、様々なことができます。今回は、ファイル名の一覧を取得するコマンドを打ち込みましょう。

dir /b > files.txt

これは、
・ファイル名の一覧をだせ: dir
・フォルダ名は省略して、1行ずつで:  /b
・files.txtに保存せよ:  > files.txt        という意味のコマンドです。

 

実行すると、files.txtに、フォルダ内のファイル名が保存されています。これを、エクセルにコピペしましょう。

 

こっそり、最後の余計なファイル名を削除しています。

 

step3 エクセルで、ファイル名変更のコマンドを作る

 

黒き画面、コマンドプロンプトには、ファイル名を変更するコマンドがあります。

ren <<変更するファイル名>> <<変更後のファイル名>>

ren がコマンドで、<<>> <<>>は任意に打ち込みます。これをエクセルで作ってしまうのです。やってみましょう。

 

 

ファイル名の一覧から、出席名簿ベースのファイル名に、 ren するリストができました。

ファイル名を置換するリスト

 

これを、コマンドプロンプトにコピペするのですが、コマンドプロンプトでの、コマンドの区切りは半角スペースでないとダメです。そこで再びメモ帳で タブ(列の境目)を半角スペースに置換します。

 

 

 

準備は完成!コマンドプロンプトに、コピペで流し込みます。

 

ファイル名が変更できました。

変更後のファイル名が並ぶ

仲の悪そうなクラスですね。

 

いかがでしょうか。もちろん、こういった処理をするフリーソフトがあると思いますが、Webで探してインストールするより、手持ちの道具でやってしまったほうが早いことが多いです。慣れると考えるより先に手が動きますよ!お試しください。

 

※ 詳しい方へ。

コマンドプロンプトでバッチファイルを作れば良い話なのですが、作業内容によってはループ文を考えてあれこれ作るより、エクセルで展開してしまったほうが早いよ、という提案です。
今回のように、単純な連番処理でない場合も気楽に作れますし、実行前にすべての処理を確認できるのも良い点だと思っています。