Check Pointのログ調査三回目。
一〇〇〇〇〇行のログとか勘弁してくれ。 ついでなのでExcelマクロのメモ書き。
aaa.coo.jpなどの羅列で aaaのホスト名のみ抽出したい場合。
仮にB列の横にC列を増やして
=reft([左の列選択],[抽出する文字数])
と書く。 サンプル例どおりなら
=erft(b1,3)
みたいな感じだ。
続いて、IPアドレスからホスト名を解決する Excel関数を作成する方法。
=vlookup([左の列選択],[参考にする範囲],[代入する値の列],false)
参考にする範囲は下記のように IPアドレス、日本語名、ホスト名と並んでいた場合 A列からC列を選択する
10.10.10.10 | 俺のホスト | aaa |
そして、代入する値の列は一致したIP 上記サンプルだと10.10.10.10が一致した場合に返す値 aaaを返したいので、C列でこの場合は選択の3列目なので「3」と入力する。
最後のTrue/Falseは完全一致がFalse その逆がTrueとなる。 下のように書くとホスト名が帰ってくる。
=vlookup(G1,A1:C20,3,false)
一件ずつ調べていると一日かけても終わらないが、 関数を使うとものの2時間程度で終わった。
補足、vlookupをコピーすると中の値もずれるので 絶対パスだから動くなよと「$」を入れると良い。
=vlookup(G1,$A$1:$C$20,3,false)
教えてくれたA氏には感謝です。 お互いに教えあう仕事が理想的で良いですね。