正規表現と、OpenOfficeCalcでの条件付き集計。部分一致でやる場合結構面倒くさい。

  1. OpenOffice calcで部分一致の条件を設定して集計をする場合、正規表現で検索条件を指定する必要があります。
  2. また、ツールバーツール>オプションで、数式で正規表現を使うにチェックを入れておく必要があります。
  3. さらに、calcで数式の中で正規表現を用いるときの独自仕様?もあります。

calcの使用例のサンプルファイルは、SKYDRIVEからcalc139.odsをダウンロードしてください。
サンプルファイルをご覧になるときは、上のプロセスを経て、正規表現を使うにチェックを入れてください。

送信者 OpenOffice


以下、検索条件の設定と、OpenOffice Writerでの使用例とOpenOffice Calcでの使用例を載せます。

.*(アスタリスクとピリオドの組み合わせ) 0文字以上の任意の文字数の文字列
OpennOffice Writerの場合:.*川 
OpennOffice Writerがヒットした検索結果(青字):合さん。石秀美。石ひとみ。
送信者 OpenOffice
検索したい文字を、calcの場合、.*で囲みます。

.(ピリオド) 任意の一字を表すワイルドカード
OpennOffice Writerの場合:.*原.紀 
OpennOffice Writerがヒットした検索結果(青字):藤原紀香。藤原裕紀
送信者 OpenOffice


*(アスタリスク) 直前の文字のゼロ回以上を示すワイルドカード
OpennOffice Writerの場合:7* 
OpennOffice Writerがヒットした検索結果(青字):127 1277 12774 12 777
送信者 OpenOffice
検索したい文字を、calcの場合、.*で囲みます。

^ 段落の始めを示すワイルドカード
OpennOffice Writerの場合:^堀 
OpennOffice Writerがヒットした検索結果(青字):
ちえみ。堀千恵子。大堀川。
大堀川。堀ちえみ。堀智恵子。
神奈川。堀本。
送信者 OpenOffice
検索したい文字の後ろにcalcの場合、.*を付けます。

$ 段落の終わりを示すワイルドカード
OpennOffice Writerの場合:人たち。$ 
OpennOffice Writerがヒットした検索結果(青字):
この人。
その人。
あの人たち。
どの人たちや。
送信者 OpenOffice
検索したい文字の前にcalcの場合、.*を付けます。



OpenOfficeのヘルプ(F1キーを押すと現れます)で,
正規表現で検索すると、いろいろ学べます。
OpenOffice Writerで、正規表現;検索で検索すると、ワイルドカードについて読むことができます。
OpenOffice Calcで、正規表現;リストので検索すると、正規表現の一覧を見ることができます。


でも、ひとつ、問題があるのは、このcalcの独自機能?で計算した結果は、エクセルでは、は? あんた、何寝ぼけたことかいてるの? といって読んでくれません。だから、これは、あくまで僕個人の好みですが、こういう手の独自機能というのは、好きになれません。世間でエクセルを使ってる人が大半なんですから、数式の仕様はそれに合わせたほうが、ええのではないだろうか。でないと、結局互換性の問題ということで世間に広まらないんではないかなあとも思ったりするしだいです。
が、ぼやいてばかりでは、しゃあないので今夜は、エクセルとOpenOfficeの両方で読み込める条件付き集計(部分一致)の数式をやります。あと20時間後くらいに。


この記事をクリップ!