[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数対象の平均と最大・最小値』(ちょり)
sheet1 元データ
A列 B列 C列
田中 2 1
田中 3 2
鈴木 2 2
伊藤 4 3
田中 5 4
・
・
・
・
A列 B列 C列
氏名 sheet1のB列平均 sheet2のC列最大値
◇補足
・sheet1元データのA列の対象者は500名程度
・sheet2アウトプットのA列に氏名を入力するとBC列が自動的に計算されるイメージ
※それよりも効率的な抽出方法があれば教えていただけると幸いです。
excel超初心者のため、初歩的な質問となりますがどうぞ宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
sheet1のC列最大値 の間違いでしょうか?
(マナ) 2018/10/16(火) 21:19
バージョンによって使えませんが
averageif関数とmaxifs関数でもできそうです。
>※それよりも効率的な抽出方法があれば教えていただけると幸いです。
全員分を一挙に計算するならピボットテーブルがよいです。
(マナ) 2018/10/16(火) 21:44
DMAX関数でした。
(マナ) 2018/10/16(火) 21:45
回答いただきありがとうございます!
AVERAGEIFの頭しかなかったので、
お教えいただいたDAVERAGE関数と
DMAX関数法にて作成再開してみます!
〉sheet1のデータに見出しがあるなら
こちらは、A1に適当な見出しをつけるという理解で良いでしょうか?
(ちょり) 2018/10/16(火) 23:15
Dim c As Range, r As Range Sheets("Sheet2").Cells.ClearContents Set r = Sheets("Sheet2").Range("A1:C1") With Sheets("Sheet1") For Each c In .Range("A:A").SpecialCells(2) If Sheets("Sheet2").Range("A:A").Find(c.Value, , , xlWhole) Is Nothing Then r.Value = Array(c.Value, WorksheetFunction.AverageIf(.Range("A:A"), c.Value, .Range("B:B")), WorksheetFunction.AverageIf(.Range("A:A"), c.Value, .Range("C:C"))) Set r = r.Offset(1) End If Next c End With End Sub (mm) 2018/10/17(水) 10:12
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.