![MS Excel COUNTIFで範囲を使用する方法](https://rvso.com/image/1416358/MS%20Excel%20COUNTIF%E3%81%A7%E7%AF%84%E5%9B%B2%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
数値の列が 2 つあります (列 A と列 B)。A > B となる行の合計数を取得したいと思います。COUNTIF 関数は正しいようですが、2 番目の引数で範囲を使用する方法がわかりません。例:
=COUNTIF(A1:A35, A1>B1.....A35>B35)
答え1
これに使用してくださいsumproduct
。試してみてください=SumProduct((A1:A35 > B1:B35)*1)
編集して追加:sumproduct
セルの範囲に対して一連のテストを連結できます。各テストは または または 、つまり または を返しますTRUE
。FALSE
これら1
の0
条件は、それぞれをテストするときに掛け合わされ、各行の結果は または1
を生成します0
。範囲内のすべての行に対してこれを実行し (範囲はすべてsumproduct
同じ長さである必要があります)、結果の合計を計算します。
上記sumproduct
には という条件が 1 つだけありますA1:A35>B1:B35
。 は、結果を数値として返すように*1
指示するだけです。行条件が返された場合は になり、そうでない場合は になります。これらの結果は、範囲内の 35 行すべてについて加算され、条件が true である行の数である合計が算出されます。sumproduct
TRUE
1*1
0*1
覚えるのはややこしいですが、エクセル関数としては非常に強力で、複数の条件を実行できるのが強みです。たとえば、より大きいA1:A35>B1:B35
場合のみを数えたい場合は、次のように記述できます。B1:B35
10
=sumproduct((A1:A35>B1:B35)*(B1:B35>10)*1)
答え2
基準に基づいて行をカウントします。
Excel では、「条件付き合計ウィザード」を使用するか、同様のスタイルで独自のウィザードを作成することができます。私は前者をお勧めします :-)
一方、=SUM(IF(A1:A35<B1:B35,1,0))
セルにCTRL+ SHIFT+と入力するENTER
と、機能します ;-) -- ここで、「3D 数式」について読む必要があります。
COUNTIF()
ただし、一度に 1 つのセルに対してのみ機能します。そのため、必要な機能は提供されません。