
以前、アカウントを作成せずに質問したところ、ユーザー Jeorje から良い回答をいただきましたが、あまり詳細を提供していなかったため、以前のコメントに返信することができませんでした。
そのため、私は、さらに詳しい情報、作業中のシートの例、そしてコメントへの返信を継続する機能を備えた 2 回目の試行を試してみることにしました。
変更可能な日付範囲内で、テキストの段落またはドキュメントのタイトルにキーワードまたはフレーズが含まれた回数を出力できるシステムを作成したいと考えています。
日付範囲内のエントリの数をカウントする出力をセル D1 に作成するために現在使用している数式は次のとおりです。
=COUNTIFS('Main Sheet'!A:A,">="&Trends!C1,'Main Sheet'!A:A,"<="&Trends!A1)
セル G2 のキーワードを含むエントリの数をカウントしてセル H2 に出力を作成するために現在使用している数式は次のとおりです。
=(SUM((LEN('Main Sheet'!H:H)-LEN(SUBSTITUTE((LOWER('Main Sheet'!H:H)),LOWER(G2),"")))/LEN(G2)))
これらの 2 つの数式を組み合わせて、私が求めている効果を生み出す方法があるかどうか、または、これらの 2 つの数式のデータを組み合わせて、希望の効果を生み出すことができる 3 番目の数式があるかどうか知りたいです。私の考えがまったく的外れであれば、それも知りたいです。
本当にありがとう!
メインシートの写真
答え1
次の方法でうまくいくと思います:
==SUM(IFERROR(IF( 'Main Sheet'!A:A >= Trends!C1, IF( 'Main Sheet'!A:A <= Trends!A1, FIND( G2, 'Main Sheet'!H:H ), NA() ), NA() ), " " ))
(要素を少し目立たせるために、余分なスペースをたくさん入れました。各セットは 2 つのスペースなので、Find and Replace
スペースを 2 つ空けずに、私が入れたスペースをすべて簡単に削除することもできます。)
私が作成した数式のバージョン (私のテスト スプレッドシートのセルを使用) は、さまざまなバリエーションでうまく機能しました。次に、2 つの数式からの参照を、自分の数式と置き換えて、適切な場所に挿入しました。完璧に実行できたかテストするために、いくつかのシートに名前を付けたりはしませんでした。そのため、失敗した場合は、まず、文字を 1 つ省略したりして、正しくコピーして貼り付けたかどうか、少し時間をかけて確認してください。
私が抱えていた困難は、IF()
SPILL 機能が無効になるようで、たとえば、{FALSE;FALSE,TRUE,FALSE}
Excel の内部動作で文字列の作成が無効になるということです。あるいは、それがメカニズムのようです。1 つのセルが何度もテストされることになります。しかし、ご覧のとおり、常にそうであるとは限りません。最終的に、物事を台無しにしない組み合わせを見つけました。
基本的に、FIND()
Excel の動作で {} 文字列を取得していました。これは、必要な値 (おそらく「water」) を検索し、文字列内でその値が始まる文字番号を返します。つまり、「5」または「2,184」を取得できますが、文字列では内部的に次のようになります: {"5";"2184"} であり、COUNT()
これらは 5 桁の数字ではなく、2 つの項目として認識され、したがって 5 つの項目として認識されません。
いずれの場合も、日付範囲の一致に失敗すると #NA エラーが生成され、検索文字列で検索値が見つからないと #VALUE エラーが生成されます。成功すると、検索文字列の最初の文字が見つかった文字の番号が生成されます。したがって、Excel が関数に提示するエラーと数値の {} 文字列が得られますIFERROR()
。出力は、もちろん、エラーでない場合は値で、実際のエラーの場合はスペースです。代わりに二重引用符 ("") を使用することもできますが、スペースを使用すると、結果がどのような状況でもテキストとして扱われるため、何らかのミスが発生して Excel によって 0 とみなされ、カウントされてしまうことがなくなるので、スペースを使用することをお勧めします。はCOUNT()
数字のみを好むため、数字を常にテキストに強制することで、数字が結果に追加されることがなくなります。
次に、COUNT()
その文字列を単純にカウントし、3 つの項目すべてに一致した場所の数、開始日と終了日 (日付範囲)、および検索セル内の検索文字列の出現回数を返します。
ここで私が正しい考えを得られたことを願っています!