web-dev-qa-db-ja.com

CTRL + SHIFT + ENTER配列数式が機能しない

したがって、私の問題はより複雑なものですが、はるかに単純な式(同様のケース)で試したところ、同じ問題が発生しました。私が使用している配列数式は、配列の最初の値の結果のみを返します。

例えば。

列に5文字あります:A、B、C、D、E

そして私の公式は

{=COUNTIF($B$1:$B$4,{"A","B","C","D"})} 

結果は次のようになります。1「A」値のみをカウントします

いつあるべきか:4

enter image description here

誰かが代わりに何ができるのですか、それともなぜそれが機能しないのですか?

2
andrea

CSEは不要で、SUM()またはSUMPRODUCT()でラップします。

=SUM(COUNTIF($B$1:$B$4,{"A","B","C","D"}))

enter image description here

1
Scott Craner

これは、配列と配列定数を受け入れるExcel関数がほんの一握りしかないためです。

https://support.office.com/en-us/article/Overview-of-formulas-in-Excel-ecfdc708-9162-49e8-b993-c311f47ca17

一部の組み込み関数は配列数式であり、正しい結果を得るには配列として入力する必要があります。

どの関数がパラメーターの配列をサポートしているかのリストを見たことを誓いますが、私の人生の間、そのページを見つけることができません。

とにかく、Criteriaパラメーターは配列の最初の項目のみを調べているようです。数式を次のように変更する場合:

{=COUNTIF($B$1:$B$4,{"e","a","b","c"})}

結果は_0_です。これは、Criteriaパラメーターが配列定数(または他の配列)を受け入れないことを意味します。

スコットが他の回答で行ったことを実行することも、Count Ifを引き続き使用することもできますが、別の方法で:

{=COUNT(IF($B$1:$B$4={"a","b","c","d"},1))}

もう少しタイピングですが、あなたが探している答えが得られます。

同じことにSUMを使用することもできます(スコットの答えとは少し異なります)。

{=SUM(($B$1:$B$4={"a","b","c","d"})*1)}

0
Joseph