Excel - 「はい」と「NA」を「はい」としてカウントする方法

Excel - 「はい」と「NA」を「はい」としてカウントする方法

私は列を「はい」、「NA」、「いいえ」で分析する関数を書こうとしています。すべての行に「はい」または「NA」がある場合、提出ステータスは「はい」になります (すべて「はい」で 1 つの NA がある場合、提出ステータスは「はい」になります)。ただし、いずれかの行に「いいえ」がある場合、提出ステータスは「いいえ」になります。これは私が持っているものです:

=IF(COUNTIFS(H4:H14,{"はい","NA"})=COUNTA(H4:H14),"はい","いいえ")

すべての行が「はい」のときのみ「はい」が表示されます。1 つの行が「NA」で、他のすべての行が「はい」の場合、送信ステータス領域に「いいえ」と表示されますが、これは誤りです。行内のすべての「いいえ」には、送信ステータスが「いいえ」と表示されますが、これは正しいです。このコードを理解するのを手伝ってくれる人はいませんか?

答え1

これを実現するには 3 つの方法があると思います。

cybernetic.nomad のコメントによると、「...いずれかの行に「No」がある場合...」という問題ステートメントに焦点を当てると、「No」が含まれるセルをカウントすることになります。

=IF(COUNTIF(H4:H14,"いいえ")=0,"はい","いいえ")

一方、逆の方向から焦点を当てたい場合は、「すべての行に「はい」または「NA」がある場合」、つまり「はい」のセルの数を数え、それを「NA」のセルの数に追加します。

=IF(COUNTIFS(H4:H14,"はい")+COUNTIFS(H4:H14,"NA")=COUNTA(H4:H14),"はい","いいえ")

また、最初の試みで使用したように、構文を使用する場合は、構造{...}を使用する必要があります。このアプローチの関数は、2 つの値 (リストからの可能な一致ごとに 1 つ) の配列を返すため、それらを合計する必要があります。SUM(...)COUNTIFS{"Yes","NA"}

=IF(SUM(COUNTIFS(H4:H14,{"はい","NA"}))=COUNTA(H4:H14),"はい","いいえ")

(3 番目のアプローチは、2 番目のアプローチを言い換えただけです。)

注意

最初の 2 つのアプローチは、重要な点で異なります。どちらが最適かを判断するには、例の「はい」、「いいえ」、「NA」以外の値がある場合に、どのような結果にしたいかを決める必要があります。特に、いずれかの行にリストされていない値 (たとえば、「xxx」) がある場合、最初のアプローチでは になりYes、2 番目と 3 番目のアプローチでは になりますNo

要件はあいまいです。この場合は問題になる可能性は低いですが、何も偶然に任せないようにするのが良い方法です。

関連情報