10

次のように、Excelに2つの列があります。

 A   B
0.5  0.4
0.6  0.59
0.1  0.2
0.3  0.29

B の値のうち、対応する A の値よりも小さい値の数を数えたいと思います。この場合、答えは 3 です。

余分な列を追加してから実行することでこれを行うことができますが、余分な列を追加せずにそれをB-A行うCOUNTIF(RANGE, "<0")方法があるかどうか疑問に思っています。

これはプログラミングとはかけ離れたところにあると思いますが、間違った側ではなく、正しい側にあることを願っています。

4

6 に答える 6

21

これは、Excel 配列数式を使用して行うことができます。次のようにしてみてください。

=SUM(IF(A1:A5 > B1:B5, 1, 0))

非常 重要な部分は、式を入力し終わったときCTRL-SHIFT-ENTERだけではなく、を押すことです。ENTERそうしないと、データを配列として扱いたいことを理解できません。

于 2009-02-05T11:48:35.920 に答える
1

解決策はありますが、まだ 2 つの余分なセルが必要です: DCOUNT.

以下は例です (指定されたセルにコロンの後に正確なテキストを挿入します):

A1:状態

A2:=B4>A4

A3:あ

B3:B

A4:700

B4:5000

A5:700

B5:600

A6:7000

B6:6000

A7:700

B7:701

カウント式のセル:=DCOUNT(A3:B7,"B",A1:A2)

于 2009-02-05T11:15:39.213 に答える
1

実際、これは私プログラムで行うことです。

次のマクロを作成します。

  • 列 C を挿入します。
  • range("aN").value <> "" であるすべての N に対して、range("cN").value を "=bN-aN" に設定します。
  • あなたのcountif計算を行い、それをセルに押し込みます(列Cではありません)。
  • 列 C を削除します。

プログラミング以外のより簡単な方法があるかもしれませんが、私にはわかりません(そして、とにかくあなたの質問は閉じられます)。

于 2009-02-05T11:16:23.783 に答える