ぬここゐ

プログラミングとか文房具とか

【Googleスプレッドシート】複数行書かれたセルをCOUNTIFで数える方法

複数行のセル にCOUNTIF関数

COUNTIFで全部で何人かとか、
数えたくなったとき、
何もしてないとCOUNTIFでは1つのセルは1つとしか数えてくれません、

=COUNTIF(A:A,"山田*")

としても、複数行のセルは数えてくれません。 今回はその解決策となります。

解決法

COUNTIFを使うために、それぞれをひとつひとつのセルにします。
流れとしては

  1. JOINで一旦、まとめる。
  2. REGEXREPLACEで改行コードを置換する
  3. SPLITで分割する
  4. COUNTIFで数える

という流れです。

=COUNTIF(SPLIT(REGEXREPLACE(JOIN("|",A:A),"\n","|"),"|"),"山田*")

こんな感じになります。
ポイントとしては区切り文字を統一すること。
今回は縦棒(|)を使ってますが、場合よっては別の記号や、
常用外漢字を使うのも一つの手です。

そして、REGEXREPLACE(範囲,対象文字,置換文字)
\nというのが改行コードになります。
1つのセルが複数行の場合、改行コードを使って
2行以上になっているため、
正規表現というのを使って改行コードを"|"に置き換えてます。
理屈は簡単なので応用は難しくないと思います。


スプレッドシートの関数はいろんなことが出来るので楽しい。 では、また。