web-dev-qa-db-ja.com

Excel Countif 0、00、000の個別のエントリ

TEXTとしてフォーマットされたデータの_0_、_00_、および_000_をカウントしたいのですが、countif()式は3つの検索条件のそれぞれに同じ値を与えます。

詳しくは添付画像をご覧ください

enter image description here

5
ABR

この問題は、Excelが列Aの各セルを式「= 000」、「= 00」、「= 0」で評価するために発生します。ウィッチは明らかに同じです(式内のゼロは引用符で囲まれていないため、数値です)。私たちが期待するものではありませんが。

私のExcelのお気に入りのスイスナイフであるSUMPRODUCTを使用できます。

=SUMPRODUCT(--(A$2:A$12=B2))

二重マイナス記号は、ブール式を1(true)または0(false)に強制します。

4
CFreitas

奇妙なことに、可能な場合はExcelがテキストを数値に変換するのを防ぐことはできないようです。

配列数式の回避策は次のとおりです(を使用して入力する必要があります CTRL+SHIFT+ENTER):

=SUM(IF($A$2:$A$12=B2,1,0))

enter image description here

1
Máté Juhász

すべてのVBAを忘れて、複雑な合計ステートメントを超えると、ExcelのLEN関数は文字列をカウントします。先頭または末尾にスペースがある場合は、最初にTRIM関数を使用しますが、おそらく= LEN(A2)と同じくらい簡単です。

ゼロの文字列以外を回避するには、= IFERROR(IF(B1 * "1" = 0、LEN(B1)、0)、0)を使用します。IFERRORはその "X"を処理し、のテキスト文字列を乗算します。ゼロを「1」にすることで数値に変換し、IFステートメントが「0」と等しくなり、「valueiftrue」ステートメントを実行しますLEN(B1)

1
Jacob Moore