行を見て、フィールドに特定の値があるかどうかを判断し、別のフィールドの特定の値の数を数えます。

行を見て、フィールドに特定の値があるかどうかを判断し、別のフィールドの特定の値の数を数えます。

残念ながら、これは説明するのがかなり複雑な質問です。

私が使用しているサンプルデータは次のとおりです。

サンプルデータ

私がやろうとしているのは次のことです:


列の値が であり、列の値がまたはでもあるGold Gifted学生の数を数えます。GYKS4 TARGETIAA*


例えば、リストにゴールドギフテッド生徒5名、 だけ4学生のうち目標成績はA*またはA表示したい値は4

どこから始めればいいのかさえわかりません。次の式を試してみましたが、正しいかどうかさえわかりません。

=SUM(('Student Breakdown'!$G$10:$G$272="Y")*('Student Breakdown'!$I$10:$I$272="A*")*('Student Breakdown'!$I$10:$I$272="A"))

誰か助けてくれませんか?よろしくお願いします。

答え1

COUNTIFS 関数を試してください。

あなたのデータレイアウトでは、

=COUNTIFS('生徒の内訳'!$G$10:$G$272, "Y", '生徒の内訳'!$I$10:$I$272, "A*")

よく分かりませんが、目標成績の 1 つにアスタリスク (A*) が付いていることが、この例ではワイルド カードとして機能していると思います。テストするには、「A*」成績の 1 つを「A+」に変更すると、適切な合計が得られるはずです。興味深い副次的なメリットです。

答え2

F106dartの回答をお勧めしますが、少し一般化すると、次のようにCOUNTIFSの1つの条件で「OR」タイプの効果を得ることができます。

=SUM(COUNTIFS(Range1,"x",Range2,{"a","b"}))

[ただし、「A」と「A*」ではそうはしません。指摘されているように、* はワイルドカードとして機能するため、二重にカウントされてしまうからです]

COUNTIFSExcel 2007以降でのみ使用可能です。どのバージョンでもSUMPRODUCT次のように使用できます。

=SUMPRODUCT((Range1="x")*(Range2={"a","b"}))

後者のバージョン意思* は数式ではワイルドカードとして扱われないため、「A」と「A*」は機能します。

Range1とRange2はcolumnsデータであると仮定します

答え3

これも同様に機能すると思います:

  =SUM(IF(G10:G272="Y",IF(I10:I272="A",1,0)))+SUM(IF(G10:G272="Y",IF(I10:I272="A*",1,0)))

条件で 2 つのパス (1 つは A、もう 1 つは A*) を使用して結果を生成します。

関連情報