2014/09/07

ExcelとOpenofficeの違いでドはまりした件(ワイルドカード)

DQ10のデータをまとめているExcelシートに機能追加しようとしてはまってしまったお話です。
Excel(OpenOffice)のお話ですが一応DQ10関連ではあるので。備忘録として。



前に一度ふちけん的アイテム整理術後編:依頼書編という記事の中で紹介したことがあるのですが、所持している依頼書の管理をExcelで行っています。

どの依頼書(対象モンスターと討伐数、報酬と個数)をどの家に保管しているかという基本情報と
 ・対象モンスターを入力するとモンスターの「系統」「生息地域」の自動表示
 ・報酬アイテムと個数を入力すると、その依頼書による1人あたりの収入見込額の自動計算
という機能を入れています。
チームクエストに行く際にこのシートに記録している情報を系統や場所からフィルタで絞って、平行して処理可能な依頼書を抽出し、該当する依頼書を持ちだして処理していくという流れで消費していました。


で、今回追加した機能がコレ。
dqx_20140908excel

地域ごとに処理可能な依頼書を何枚持っているか、ひと目で分かるようにしました。
画像では見切れていますが、2.0以降の地域にも対応しています。
主にチムクエの「依頼書挑戦!」の対策としていれたもので、何でもいいからとにかく数を手早くこなしたいときにどこに行けばいいのか、というのを目に見えるようにしました。
今まではそこまで管理しなくても、同一モンスターの依頼書が複数枚どどどどどと蓄積されているのが自然と目に入って、あーこれをやらないと、というのがわかりやすかったのですが、
2.2後期から王家の迷宮が追加された結果通常フィールドでの戦闘の機会が激減し、依頼書がたまりにくくなった結果、そのあたりが見えにくくなってしまいました。


で、ここからが本題。
Excelの関数のお話に踏み込んでしまいますが、こういう式で抽出しようとしたんです。

 =COUNTIF($H$2:$H$477;"*ランガーオ山地*")

H2からH477の範囲で、「ランガーオ山地」という文字列を含むセルの数はいくつありますか?というつもりで。
アスタリスクを前後に入れているのは、文字列完全一致ではなく部分一致にさせたいからです。
(出現場所が複数にまたがるモンスターの場合も出現場所をセル1つに押し込んで書いているので、完全一致だとほとんど拾えない)


ですが、こう書いても情報を拾えず0枚としか出てこない。
OpenOfficeのods形式で書いていたのですが、Excelのxls形式に変換してGoogleドキュメントに読ませればちゃんと反映されているので、関数の記述が間違っているということもない。

色々試した挙句結局分からずGoogle先生にお伺いを立ててみたところ、純正のMicrosoftOfficeと私が使っているフリーのOpenOfficeだと、アスタリスクを使ったワイルドカードの記述方法が実は違うということが発覚。
MSOfficeだと「*」と書くところをOpenOfficeだと「.*」と記述するらしい。なんでやねん!
基本MSOfficeの情報を見ていればほぼOpenOfficeにも適用できていたので、思わぬところでハマってしまいました。
実際の所ファイルに互換性があるとはいっても完璧ではないし(むしろ挙動はかなり怪しい。LibreOfficeだとだいぶマシだけど)、細かいところの仕様は結構違ったりするので、ケチらず自宅のPCにもMSOffice入れようかなと思った出来事でした。


DQ10をガチでプレーされている方の中にはExcelなり何なりゲーム外でデータ管理したり自前でツール作られている方が少なからずいらっしゃると思いますが、
どんな感じで運用されてるのか一度拝見してみたいものですね。
億稼ぐようなガチ職人の方とか特に。