MongoDBのObjectIdを人間が分かる形にしたいときコンバーターサイトを使ってたのですが、
数十件になってくると大変だし、ミスの確率も高くなる。
ということで、エクセル上でHuman dateにする数式を考えました。
ObjectIdは16進数で、
1文字目~8文字目がドキュメント作成日時(Unix時間)、とのこと。
ということで、以下の2段階でHuman dateにすることにしました。
1)ObjectIdからUnix時間を取得する
エクセルの16進数を数値に変換する
=HEX2DEC(LEFT( 【ObjectId】 , 8))
2)Unix時間をHuman dateに変換する
=( 【1のUnix時間】 + 32400) / 86400 + 25569
※前の記事「ミリ秒単位のエポックタイムスタンプをエクセルで読めるようにする」参照。
※書式がおかしければ、セルの書式設定>ユーザー定義で「yyyy/m/d h:mm:ss」にする
参考サイト
MongoDBのObjectIDからUnix時間を取得するExcel式
MongoDB ObjectId ↔ Timestamp Converter