2018年2月16日金曜日

エクセルでファイルサイズのリストを作る

MS-DOSとEXCELを使用してファイルサイズの表を作成してみるテスト。

まず、ファイルサイズのリストを作成したいフォルダを開きアドレスバーに cmd と入力してDOS窓を開きます。
※こうすると開いていたフォルダがカレントになっているので、 cd(chdir)する手間が減ります

で、2つのファイルを作成するため、以下のようにコマンドを実行します。


filename.txtはナントカ編集してファイル名をタブを挟んでコピーします。
こんな感じで。

filesize.txtの方には結構ゴミが混じっています。
これもナントカしてファイルサイズとファイル名だけに編集します。
こんな感じに。
ファイルサイズとファイル名の間はタブで区切ります。
このようなタブ区切りの文をエクセルへコピー&ペーストするとセルへ振り分けられるので覚えておくと便利です。

で、上のファイルを同じファイルの別シートへコピー&ペーストします。
ペーストしたらテーブルも設定しておきましょう。
filename.txt


filesize.txt


filename.txtの方には列の最後にsize列を追加しておきます。
そしたら、関数を設定し易くするために「新しいウィンドウを開く」で同じエクセルファイルが2つになるように設定です。

ウィンドウが開いたところで、すぐ下の「整列」を実行。

すると、こんなふうに同じファイル内の別々のシートを同時に見られるようになります。

いよいよセルへ関数を設定します。
まずはfilename.txtに追加した"size列"へINDEXを組む込みます。

「配列」部分を指定するためにfilesize.txtの"size列"を指定します。




この状態になったら、ひとまずINDEXの引数設定ダイアログをOKで閉じます。
※エラーが出ますが無視して進めます。

で、カンマに続いてMATCH()コマンドを記入。

図のようにカッコまで記入したらカーソルをカッコの間へ移動させることで[fx]ボタンからMATCHコマンドの「関数の引数」ダイアログが使用できるようになります。

ちょっと複雑ですが、「検査値」の欄にはすぐ隣のセルを指定し「検査範囲」の欄には"filesize.txt"の"name列"全体を指定します。


で、最後に「照合の種類」へ零を入れます。

ゼロを指定することで完全一致した最初の番号が取得できます。
※詳しくはヘルプで確認してみてください。

こうすることで、INDEXの配列のMATCHで合致した番号の値が表示されるようになるので結果的にファイルサイズが表示されるようになります。


ここからは、やってもやらなくても良いですが、このままだと見栄えが悪いので不要な部分を非表示にします。
まず、MATCHで使用している"name"列を非表示にします。
[B]を右クリックして「非表示(H)」


次に、filesize.txtのシートも邪魔なのでシートの部分を右クリックして「非表示(H)」


こうすると必要な部分だけしか見えなくなるのでスッキリします。


もっと手軽な方法があるかもしれないですが、エクセルのINDEX関数とMATCH関数の使用方法の覚書として・・・。

0 件のコメント:

コメントを投稿