中小企業の働き方改革をサポート>>

詳しい方がいらっしゃいましたら、ご教示をお願いいたします。
--------------------
OS:windows7
ソフト:Microsoft Excel 2010
--------------------

OS及びExcelのバージョンは上記の通りです。
次のようなことは可能でしょうか。


※参考画像を添付しておりますので、併せてご覧ください。

【1】セルB1~B8に、手入力で数字を入力する。

【2】セルA1~A8に予め作成したドロップダウンリストから、名前を選択する。

【3】「【2】」で「山田」と選択されたもののみ、その右のセル(画像で言えばB4とB7)の合計値をセルB10に自動で表示させる

----

※ドロップダウンリストは[データ] タブの [データ ツール] グループで、[データの入力規則] から作成したもの。


以上です。
どうぞよろしくお願いいたします。
Excelなどあまり詳しくないため、見当違いの点がありましたら申し訳ございません。

「Excelでこのような条件付けは可能でし」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (2件)

=sumif(A1:A8, A10, B1:B8)とかでできませんか?

    • good
    • 0
この回答へのお礼

出来ました!
ありがとうございます!

お礼日時:2014/05/15 11:46

こんばんは!



>【3】「【2】」で「山田」と選択されたもののみ、その右のセル(画像で言えばB4とB7)の合計値をセルB10に自動で表示させる

すなわちB10~B13セルで他の行は表示しないようにしたい!という解釈です。
VBAになってしまいますが・・・

画面左下の選択されているSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り、A1~A10セルのリストを色々変更してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim c As Range
If Intersect(Target, Range("A1:A8")) Is Nothing Then Exit Sub
Range("B10:B13").ClearContents
Set c = Range("A10:A13").Find(what:=Target, LookIn:=xlValues, lookat:=xlWhole)
c.Offset(, 1) = WorksheetFunction.SumIf(Range("A1:A10"), Target, Range("B1:B10"))
End Sub 'この行まで

※ B10~B13セルは常に表示させておいても良いのであれば、No.1さんの回答通り
SUMIF関数で対応できます。

B10セルに
=SUMIF(A$1:A$8,A10,B$1:B$8)
という数式を入れフィルハンドルでB13セルまでコピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

出来ました!
ありがとうございます!

お礼日時:2014/05/15 11:45

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング