• ベストアンサー

excel関数

excelで作成した表のなかで a列には各コードが入力 b列は文字列 c列は数字 別にシートを作りコード順に 最小値と最大値、平均を求めたい b列に文字が入っていないデータを探して、別シートに入力したa列コードと一致するデータをc列から探し(複数データあります)その中で更に最小値と最大値、平均を求めたいのですが 関数が分かりません。 教えていただけば助かります。 よろしくお願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、C列に数字が入力されているシートのシート名がSheet1であり、Sheet2のA列にコードを入力すると、Sheet2のB列に最小値、Sheet2のC列に最大値、Sheet2のD列に平均値が表示される様にするものとします。  又、Sheet3のA列~D列を作業列として使用するものとします。  まず、Sheet3のA2セルに次の関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$A:$A,ROW())="",INDEX(Sheet1!$B:$B,ROW())<>""),"",COUNTIF(Sheet1!$A:$A,"<"&INDEX(Sheet1!$A:$A,ROW()))+COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW())))  次に、Sheet3のB2セルに次の関数を入力して下さい。 =IF(ISNUMBER($A2),RANK($A2,$A:$A,1),"")  次に、Sheet3のC2セルに次の関数を入力して下さい。 =IF(ROWS($2:2)>COUNT($B:$B),"",INDEX(Sheet1!$A:$A,MATCH(ROWS($2:2),$B:$B,0))&"◆"&COUNTIF(C$1:C1,INDEX(Sheet1!$A:$A,MATCH(ROWS($2:2),$B:$B,0))&"◆*")+1)  次に、Sheet3のD2セルに次の関数を入力して下さい。 =IF(ROWS($2:2)>COUNT($B:$B),"",INDEX(Sheet1!$C:$C,MATCH(ROWS($2:2),$B:$B,0)))  次に、Sheet3のA2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  次に、Sheet2のB2セルに次の関数を入力して下さい。 =IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),MIN(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))  次に、Sheet2のC2セルに次の関数を入力して下さい。 =IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),MAX(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))  次に、Sheet2のD2セルに次の関数を入力して下さい。 =IF(INDEX($A:$A,ROW())="","",IF(COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),AVERAGE(INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆1",Sheet3!$C:$C,0)):INDEX(Sheet3!$D:$D,MATCH(INDEX($A:$A,ROW())&"◆"&COUNTIF(Sheet3!$C:$C,INDEX($A:$A,ROW())&"◆*"),Sheet3!$C:$C,0))),"-"))  次に、Sheet2のB2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  後は、Sheet2のA2以下にコード番号を入力すると、Sheet1のA列に同じコードが入力されていて、尚且つ、B列が空欄となっている行のみのデータの中における、C列の数値の最小値、最大値、平均値がSheet3のB列~D列に表示されます。

kurumi0331
質問者

お礼

本当にありがとうございます。助かりました。

その他の回答 (1)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

(´・ω・`)ん? 関数ならば  最小値:MIN関数  最大値:MAX関数  平均値:AVERAGE関数 で、それぞれ求められますが多少工夫した数式を使うようにしましょう。

kurumi0331
質問者

お礼

ありがとうございました。

関連するQ&A