人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルについての質問です。得点の集計をしたいのですが、1?15の各項目をチェックすると〇がついて、チェックした欄によって、右下に得点の合計を出したいのですが、やり方が分かりません。ちなみに、チェックする項目によっても、点数は0?3点と異なります。エクセルのバージョンは2007です。説明だけでは、解らないと思うので、画像を参照して下さい。宜しくお願いします。

1286721481
●拡大する

●質問者: suzufumi
●カテゴリ:コンピュータ
✍キーワード:エクセル バージョン 得点 画像
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Silvanus
●25ポイント

こんな感じでいかがでしょうか。

マクロなどは使用しておりません。数式(CountIf関数)のみです。

http://rct3jp.info/hatena/suzufumi_san.xls

各設問には1つだけ○印がついているものとします。

複数個ついているかどうかのチェックは行なっておりません。

必要ならば付けますが…。

◎質問者からの返答

ありがとうございます。質問の説明不足ですみませんが、〇はチェックボックスのように、

クリックしたら自動で〇が付くようにおねがいします。1つの項目は、必ず1つになるようにして下さい。

間違って、チェックした場合は、改めてチェックしたところだけが〇が付くようにしたいです。

再度宜しくお願いします。


2 ● ヨネちゃん
●17ポイント

オプションボタン

http://ikutawasabi.hp.infoseek.co.jp/xlf0601.htm

とグループボックス

http://ikutawasabi.hp.infoseek.co.jp/xlf0603.htm

を使って作ってみましたが、

http://acappella.cc/test/option_box.xls

15問もあると作るのが大変そうですね。

◎質問者からの返答

ありがとうございます。


3 ● Ktwo
●24ポイント

(前提条件)

設問:A(1)列,F(6)列

チェック欄:B(2)?E(5)列,G(7)列?J(10)列

(それぞれ3?10行目)

点数:0?3点

集計欄:H14

-----

得点計算もマクロに組み込みましたが、

Deleteボタンで○を消した場合には計算してませんので、

得点計算はSilvanusさんの回答の通り、数式(CountIf関数)が

よろしいかと思います。

尚、○を入力する欄は、セル結合するとNGです。

以下のソースを、Worksheetのコードとして保存して下さい。

(モジュールじゃないです)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

Dim lRow, lColumn, lPoint As Long

 '選択されたセル数
 If Target.Count <> 1 Then Exit Sub
 '列チェック
 If Target.Column < 2 Or _
 Target.Column = 6 Or _
 Target.Column > 10 Then Exit Sub
 '行チェック
 If Target.Row < 3 Or Target.Row > 10 Then Exit Sub

 '○編集
 Select Case Target.Column
 
 Case 2, 7
 Cells(Target.Row, Target.Column + 0) = "○"
 Cells(Target.Row, Target.Column + 1) = Empty
 Cells(Target.Row, Target.Column + 2) = Empty
 Cells(Target.Row, Target.Column + 3) = Empty
 
 Case 3, 8
 Cells(Target.Row, Target.Column - 1) = Empty
 Cells(Target.Row, Target.Column + 0) = "○"
 Cells(Target.Row, Target.Column + 1) = Empty
 Cells(Target.Row, Target.Column + 2) = Empty
 
 Case 4, 9
 Cells(Target.Row, Target.Column - 2) = Empty
 Cells(Target.Row, Target.Column - 1) = Empty
 Cells(Target.Row, Target.Column + 0) = "○"
 Cells(Target.Row, Target.Column + 1) = Empty
 
 Case 5, 10
 Cells(Target.Row, Target.Column - 3) = Empty
 Cells(Target.Row, Target.Column - 2) = Empty
 Cells(Target.Row, Target.Column - 1) = Empty
 Cells(Target.Row, Target.Column + 0) = "○"
 
 End Select

 '点数計算
 lPoint = 0
 For lRow = 3 To 10
 For lColumn = 2 To 10
 If Cells(lRow, lColumn) = "○" Then
 
 Select Case lColumn
 
 Case 3, 8
 lPoint = lPoint + 1
 
 Case 4, 9
 lPoint = lPoint + 2
 
 Case 5, 10
 lPoint = lPoint + 3
 
 End Select
 End If
 Next
 Next
 Cells(14, "H").Value = lPoint
 
End Sub
◎質問者からの返答

ありがとうございます。


4 ● Silvanus
●24ポイント ベストアンサー

プルダウン式はお気に召さなかったのでしょうか(汗)。

…あるいは、単にコメントに気付かれなかったのかも知れませんが。

ということで、こんな感じでいかがでしょうか。

http://rct3jp.info/hatena/BDTest.xls

もし、開いた後、スコアシートをクリックした際に「保護されていて変更できない…」と

叱られたら、一旦[校閲]-[シートの保護の解除]を行ない、その後に、

[開発]-[マクロ]から、マクロ"LockScoreSheet"を実行して下さい。

こうすると、患者さんがシートに対して行える操作はクリックのみとなり

シートの内容を勝手に変更できなくなります。

◎質問者からの返答

Silvanus 様、度々の回答及び作成、誠に有難うございます。

忙しくて、ここ数日はパソコンを開いてませんでした。

私の望んでいた通りの出来映えでした。有難うございます。

ここまで、作って頂いた上で恐縮ですが、作り方(マクロ?)を教えていただけないでしょうか?

似たようなチェックリストを今度は、自分で作ってみたいのです。

回答者制限を緩和しましたので、何卒、宜しくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ