• ベストアンサー

ACCESSでABC判定をしたい

ACCESSでランクというか、判定というか、そんな評価みたいなことをしたいです。 例えば、学校のテストで  90点~100点をA  50点~89点B  その他をC というようなことをできればクエリを使ってやりたいです。 もしできるのであれば、ご存知のかた教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

IIf関数でもできますが、こういう場合はSwitch関数がおすすめです。 フィールド欄に下記の式を設定します。 ランク: Switch(([点数]<=100 AND [点数]>=90,"A",[点数]>=50,"B",[点数])>=0,"C")

その他の回答 (3)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

クエリーで 評価: IIf([点数]>=90,"A",IIf([点数]>50,"B",IIf([点数]>=0,"C",""))) とします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

テーブル名を「テーブル1」とし、テーブルに「点数」というフィールドが あるとします。「点数」のフィールドの型は数値型とします。 (1)方法その1 以下のようなクエリでランクが設定できます。 SELECT IIf([テーブル1]![点数]<=100 And [テーブル1]![点数]>=90,"A",IIf([テーブル1]![点数]<=89 And [テーブル1]![点数]>=50,"B","C")) AS ランク FROM テーブル1; 上記は、以下のようにしてランクを設定していますが、 ランク: IIf([テーブル1]![点数]<=100 And [テーブル1]![点数]>=90,"A",IIf([テーブル1]![点数]<=89 And [テーブル1]![点数]>=50,"B","C")) たとえば、 >90点~100点をA のような場合は、条件の記述を、 [テーブル1]![点数]<=100 And [テーブル1]![点数]>=90 のように、条件をANDで結んで一つの条件としています。このようにIIf関数の入れ子 で複数の条件を設定して、ランクをつけることができます。 (2)方法その2 以下の関数を標準モジュールに登録します。 Function funcRank(ByVal lnData As Long) As String   Select Case lnData   Case 90 To 100     funcRank = "A"   Case 50 To 89     funcRank = "B"   Case Else     funcRank = "C"   End Select End Function 以下のようなクエリを作成します。 SELECT funcRank([テーブル1]![点数]) AS ランク FROM テーブル1; funcRankという関数で点数を評価し、 (1)と同様に、ランクが設定されます。

  • NYAN99
  • ベストアンサー率35% (32/90)
回答No.1

IF関数でできますね。 IF関数を調べてみてください。 http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/if_is.htm

関連するQ&A