読者です 読者をやめる 読者になる 読者になる

特許データのテーマコードがExcelの指数表記として解釈されてしまう問題を解決する

こんにちは。このブログで「特許」という文字列が出てくるのはおそらく初めてなので、何を言ってるんだと思われるかと思いますが、今日は特許データのテーマコードをExcelで取り扱ったときに起こりがちなトラブルとその対策について書きます。

www.minemura-coffee.com

要するに例のバイトで特許データのリサーチ業務をやっていたわけですね。

テーマコードとはなんぞや、ということですが、特許データは分野をラベルで分類管理されていて、その分類の一階層がテーマコードです。WikipediaFタームの項とかにも例が出ていますが、例えば2B019というのは釣り竿に関するものです。

ちなみにさらに下の階層を特許庁管轄のJ-Plat Patでみると下図のようになっていて、とにかくむちゃくちゃ細かい。これを改廃、再ラベリングを続けているのすごい。

f:id:minemuracoffee:20170505113917p:plain

で、他にもいろいろあって、ヤフーの広告配信関連の特許とかみていると5B084(=計算機間の情報転送)とか、5C164=双方向TV,動画像配信等みたいなのがついてます。だいたい雰囲気おわかりかと思うのですが、構造としては下記のようになっています。

2 B 019
数字 英字 数字三桁

で、Excelで扱ううえでの曲者なのがnExxxのシリーズで、例えば2E176(=既存建築物への作業)というやつがあるのですが、これをExcelに貼るとこうなる。

f:id:minemuracoffee:20170505115725p:plain

いわゆる指数表記になっていて20000000000000000000(0が176個続く)00000として解釈されています。

ちなみに先日は普段と違う環境で作業していたのでExcelでしかできなかったのですが、いまGoogleSpreadsheetsでも同じように解釈されることを確認しました。つらい。

で、どうしようかということなんですが、Excelで開いて保存した瞬間におしまいなので、一度テキストエディタで開いて処理をしてやる必要があります。

あんまりきれいな方法とはいえないのですが、どうせExcelで処理するのなら2E176というようにアスタリスクを前後につけてやるのがいい。こうすると、テキストとして解釈されるので、指数として処理されることは当然なくなります。

さらに追加的な利点があります。テーマコードは特許に対して複数付与されるため、利用する検索ソフトウェアにもよりますが、複数のテーマコードが1セルに格納されることになります。

この件数をcounitfとかで検索しようと思ったら

=countif(テーマコードの行,"*2E176*")

とどのみちアスタリスクをつけて前後に文字列が入る前提としてカウントできたほうがよいわけです。

つまり*をつけるのは指数表記されるかどうかにかかわらず、テーマコード全般に適用してやればいい。テーマコードは現在下記のような正規表現で表現できます。

\d[A-E]\d{3}?

あとはタグ表現とか使えばよいので、サクラエディタなら

(\d[A-E]\d{3}?)

*\1*

とかで置換してやればいい。

そのうち、テーマコードでFとかがでたり、4桁の数字がついたりすると変更する必要は出てくるけど、とりあえずはまぁいいでしょう。

技術者・研究者のための 特許検索データベース活用術

技術者・研究者のための 特許検索データベース活用術

ちなみにリサーチするにあたってこの本で予習したけど、むちゃくちゃいい本だった。特許とかしらんぜ、って人でもこういう世界があるのねってわかって、自分の業務分野の特許情報とか競合の特許データ集めておこうかなと思えてくる。