目次
Excelでテキストを含むセルを数えるには? 任意のテキスト、特定の文字、またはフィルタリングされたセルだけを含むセルを数えるためのいくつかの異なる数式があります。 すべての数式は、Excel 365、2021、2019、2016、2013、2010で動作します。
Excelのスプレッドシートは、当初は数字を扱うために設計されましたが、最近ではテキストを保存したり操作したりするためにもよく使われます。 ワークシート内のテキストのあるセルの数を知りたい場合、Microsoft Excelにはいくつかの関数があります。 どれを使っていいか? それは状況によって異なります。 このチュートリアルでは、さまざまな数式とそれぞれの数式をどのように使えばいいのかについて説明します。を使用しました。
Excelでテキストを含むセルの数を数える方法
任意の文字列や文字を含むセルが、指定した範囲内にいくつあるかを調べるには、2つの基本的な計算式があります。
テキストを含むすべてのセルをカウントするCOUNTIF式
エクセルでテキストがあるセルの数を求めたいとき、COUNTIF関数にアスタリスクをつけて クライテリア 論が最も簡単で良い解決策です。
COUNTIF( レンジ , "*")アスタリスク(*)は任意の文字列に一致するワイルドカードなので、この数式は任意のテキストを含むすべてのセルをカウントします。
任意のテキストを含むセルをカウントするSUMPRODUCT式
テキストを含むセルの数を取得するもう一つの方法は、SUMPRODUCT関数とISTEXT関数を組み合わせることです。
sumproduct(--istext()) レンジ ))または
スンプロダクト(istext( レンジ )*1)ISTEXT関数は、指定した範囲の各セルにテキスト文字が含まれているかどうかを調べ、TRUE(テキストのあるセル)とFALSE(その他のセル)の値の配列を返します。 ダブル単項(--)または乗算演算は、TRUEとFALSEをそれぞれ1と0に強制し、1と0の配列を生成します。 SUMPRODUCT関数は配列のすべての要素を合計し、その配列の要素数である1,050を返します。1の、テキストを含むセルの数です。
これらの計算式の仕組みをより深く理解するために、どの値がカウントされ、どの値がカウントされないかをご覧ください。
カウントされる内容 | カウントされないもの |
|
|
例えば、数値、日付、論理値、エラー、空白セルを除く、範囲A2:A10のテキストを含むセルを数えるには、以下の数式のいずれかを使用します。
=countif(a2:a10, "*")
=sumproduct(--istext(a2:a10))です。
=sumproduct(istext(a2:a10)*1)です。
下のスクリーンショットはその結果です。
スペースや空白文字列を除いたテキストを持つセルを数える
上記の数式では、テキスト文字が含まれるすべてのセルをカウントしていますが、場合によっては、空白に見えるセルでも、実際には空文字列、アポストロフィ、スペース、改行など、人間の目には見えない文字が含まれていることがあり、混乱する可能性があります。の理由を考えているところです。)
偽陽性」の空白セルをカウントから除外するには、COUNTIFS関数を使用して、2番目の基準に「除外」文字を使用します。
例えば、A2:A7 の範囲にテキストを含むセルを数えるには、その中に くうはくもじ は、この式を使います。
=countifs(a2:a7, "*", a2:a7, " ")
対象範囲に計算式によるデータが含まれている場合、計算式の一部が 空の文字列 ("") を持つセルを無視するには 空の文字列 も、"*"を "*?*"に置き換えてください。 クライテリア1 の議論になります。
=countifs(a2:a9, "*?*", a2:a9," ")
アスタリスクで囲まれたクエスチョンマークは、セル内に少なくとも1つのテキスト文字があることを示します。 空文字列は文字がないため、条件を満たさずカウントされません。 アポストロフィ(')で始まる空白のセルもカウントされません。
下のスクリーンショットでは、A7にスペース、A8にアポストロフィ、A9に空文字列(="")がありますが、この式ではこれらのセルをすべて除外して、テキストセルの数を3として返します。
Excelで特定のテキストを含むセルをカウントする方法
特定のテキストや文字を含むセルの数を取得するには、そのテキストを クライテリア 以下の例で、そのニュアンスを説明します。
サンプルテキストと一致させるには まさに の場合は、引用符で囲んだ全文を入力してください。
COUNTIF( レンジ , " テキスト ")を持つ細胞をカウントする。 パーシャル 比 の場合、テキストを2つのアスタリスクで挟みます。アスタリスクは、テキストの前後にある任意の数の文字を表します。
COUNTIF( レンジ , "* テキスト *")例えば、範囲A2:A7に「バナナ」という単語を正確に含むセルがいくつあるかを調べるには、次の数式を使用します。
=COUNTIF(A2:A7, "バナナ")
任意の位置にある「バナナ」を内容の一部として含むすべてのセルを数えるには、こちらを使用します。
=COUNTIF(A2:A7, "*bananas*")
数式をより使いやすくするために、基準をあらかじめ定義されたセル、たとえばD2に置き、そのセル参照を第2引数に入れることができます。
=countif(a2:a7, d2)
D2の入力に応じて、数式はサンプルテキストに完全または部分的に一致することができます。
- 完全一致の場合は、ソーステーブルに表示されている単語またはフレーズをそのまま入力します。 バナナ .
- 部分一致の場合は、次のようにワイルドカード文字で囲まれたサンプルテキストを入力します。 *Bananas* .
数式がそうであるように ケースインセンシティブ という意味で、大文字と小文字を区別する必要がありません。 *バナナ* も同様に行います。
を持つ細胞をカウントすることもできます。 部分一致 のように、セル参照とワイルドカード文字を連結してください。
=COUNTIF(A2:A7, "*"&D2&"*")
詳しくは、「Excelで特定の文字列を含むセルを数える方法」をご覧ください。
Excelでテキストでフィルタリングされたセルをカウントする方法
Excelのフィルターを使って、ある瞬間に関連するデータのみを表示する場合、カウントが必要な場合があります。 テキストを含む可視セル 残念ながらワンクリックでできる方法はありませんが、以下の例を参考にしていただければと思います。
下の画像のようなテーブルがあるとします。 いくつかの項目は、数式を使用してより大きなデータベースから取得され、途中でさまざまなエラーが発生しました。 A列の項目の合計数を求めています。すべての行が表示されているので、テキスト付きのセルのカウントに使用したCOUNTIF式がうまく機能します。
=countif(a2:a10, "*")
そこで、数量が10個以上のものを除外するなどの条件でリストを絞り込みます。 問題は、残ったアイテムがいくつあるかです。
カウントする テキスト付きフィルタリング・セル ということです。
- ソース・テーブルで、すべての行を見えるようにします。 そのためには、すべてのフィルターをクリアし、非表示の行を非表示にします。
- 行がフィルタリングされているかどうかを示すヘルパー列をSUBTOTALの数式で追加。
取り扱うため ろかたろう には3を使用します。 関数名 の議論になります。
=subtotal(3, a2)
を特定すること。 全隠蔽セル を、手動でフィルタリングして非表示にし、103を入れる。 関数名 :
=subtotal(103, a2)
この例では、次のようにカウントします。 テキストを含む可視セル は、他のセルがどのように隠されていたかに関係なく、A2に2番目の数式を入力し、A10にコピーします。
可視セルの場合、数式は1を返します。フィルタリングや手動でいくつかの行を隠すとすぐに、数式はそれらの行に対して0を返します。 (これらの0は、隠された行に対して返されるので表示されません。この方法を確認するには、小計数式がある隠されたセルの内容を任意の可視セル、例えば=D2にコピーします。行2が隠れていると仮定して)。
- COUNTIFS関数は、2種類の異なる クライテリア・レンジ / クライテリア のペアを使用して、テキストが表示されているセルを数える。
- Criteria1 - 範囲 A2:A10 で任意のテキスト ("*") を含むセルを検索します。
- Criteria2 - D2:D10 の範囲で 1 を検索し、可視セルを検出します。
=countifs(a2:a10, "*", d2:d10, 1)
これで、データを好きなようにフィルタリングすることができ、数式は、A列のフィルタリングされたセルのうち、テキストが含まれているセルの数(この例では3)を教えてくれるようになります。
もし、ワークシートに追加の列を挿入したくない場合は、タスクを達成するために長い数式が必要になります。 お好きな方を選んでください。
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISTEXT(A2:A10)))
=sumproduct(subtotal(103, offset(a2:a10, row(a2:a10) - min(row(a2:a10)),,1)), -- (istext(a2:a10)))
乗算演算子も同様に機能します。
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))。
=sumproduct(subtotal(103, offset(a2:a10, row(a2:a10)-min(row(a2:a10)),,1)) * (istext(a2:a10)))
どの処方を使うかは、個人の好みの問題ですが、結果はどちらでも同じです。
これらの計算式の仕組み
最初の数式は、INDIRECT 関数を使用して、指定した範囲内のすべてのセルの個々の参照を SUBTOTAL に「フィード」します。 2 番目の数式は、OFFSET、ROW、MIN 関数を組み合わせて同じ目的で使用します。
SUBTOTAL関数は1と0の配列を返し、1は可視セル、0は非表示セル(上のヘルパー列のようなもの)を表します。
ISTEXT関数は、A2:A10の各セルをチェックして、セルにテキストがあればTRUE、なければFALSEを返します。 ダブル単項演算子(--)は、TRUEとFALSEの値を1と0に強制します。この時点で、数式は次のようになります。
=SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})
SUMPRODUCT関数は、まず両方の配列の同じ位置の要素を乗算し、その結果の配列を合計します。
ゼロを掛けるとゼロになるので,両方の配列で1が表されているセルだけが最終的に1になる.
=SUMPRODUCT({0;1;1;0;0;1;0;0;0})
そして、上の配列の1の数が、テキストを含む可視セルの数です。
以上、エクセルでテキストを含むセルを数える方法でした。 読んでくださってありがとうございました!また来週のブログでお会いしましょう。
ダウンロード可能なもの
テキストを含むセルをカウントするExcelの数式