改行を含むセルの正規表現

スプレッドシート (Calc) について
返信する
hippos
記事: 4
登録日時: 12月 31, 2013, 5:57 am

改行を含むセルの正規表現

投稿記事 by hippos »

データセル内に改行(CTRL+ENTER)を含む場合COUNTIF関数がうまく動作しません。

例えば、=COUNTIF(A1:A100;".*ワード.*") とした場合にセルの値が "XXX \n ワード\n YYY"のように改行を含むと正しくカウントされません。("XXX ワード YYY"であればOK)

回避策をご存知の方いらっしゃいますでしょうか?
OpenOffice 4.01 on MacOSX 10.9
ike@九州
記事: 33
登録日時: 4月 30, 2009, 9:05 am

Re: 改行を含むセルの正規表現

投稿記事 by ike@九州 »

手元の環境で唯一上手くいったのは以下でした。動作しますか?
".*\n*.*ワード.*\n*.*"
hippos
記事: 4
登録日時: 12月 31, 2013, 5:57 am

(解決)改行を含むセルの正規表現

投稿記事 by hippos »

あけましておめでとうございます。

通常の正規表現と同様、ドット(.)は改行を含まないのでしたね。エクセルからの移行でしたのですっかり勘違いしていました。
ike@九州 さんのとおり、改行を明示的に指定することでうまくいきました。


あ\nい\nう
い\nあ\nう
い\nう\nあ

のセルがあるとき、

=COUNTIF(A1:A4;"(.|\n)*あ(.|\n)*")

ですべてカウントすることができました。ありがとうございます。

ちなみに検索では、".*あ.*"でヒットします...
OpenOffice 4.01 on MacOSX 10.9
返信する

“Calc”に戻る