dポイントプレゼントキャンペーン実施中!

ACCESSでランクというか、判定というか、そんな評価みたいなことをしたいです。

例えば、学校のテストで
 90点~100点をA
 50点~89点B
 その他をC
というようなことをできればクエリを使ってやりたいです。

もしできるのであれば、ご存知のかた教えて下さい。

A 回答 (4件)

IIf関数でもできますが、こういう場合はSwitch関数がおすすめです。


フィールド欄に下記の式を設定します。

ランク: Switch(([点数]<=100 AND [点数]>=90,"A",[点数]>=50,"B",[点数])>=0,"C")
    • good
    • 1

クエリーで


評価: IIf([点数]>=90,"A",IIf([点数]>50,"B",IIf([点数]>=0,"C","")))

とします。
「ACCESSでABC判定をしたい」の回答画像4
    • good
    • 0

テーブル名を「テーブル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)と同様に、ランクが設定されます。
    • good
    • 0

IF関数でできますね。

 IF関数を調べてみてください。
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!