• 締切済み

エクセルで商品別の平均金額を出す方法2

先ほど、回答を頂いた方にベストアンサーに選んだら回答が締め切ってしまったようです。 問題解決できたと思ったのですが、最後に躓いてしまいました。 ですのでもう一度解決法を教えて頂ければと思います。 先ほどの質問内容です。↓ ----------------------------------------------------------------------- 始めて教えてgooを利用します。 よろしくお願いします。 エクセルで青果の仕入れを管理しようかと奮闘中なのですが、解らないことがあるので教えてください。(エクセルは初心者です。) シート1に     A    B    C    D  商品名  仕入価格  キャベツ 1000円  玉ねぎ  600円  キャベツ 800円  ポテト  500円  玉ねぎ 400円 シート2に     A    B    C    D  商品名  平均額 価格(現)  キャベツ  玉ねぎ  ポテト 1.商品別に仕入価格の平均額をシート2の平均額のセルに自動的に入力されるようにしたい。 2.シート2の価格(現)というセルには、シート1に入力した最後の仕入価格を出力したい。 この2つを実現する方法を教えてください。 よろしくお願い致します。 --------------------------------------------------------------------------- 頂いた回答です↓ --------------------------------------------------------------------------- 1.に関しては、Excel2007以降であれば、 =AVERAGEIF(Sheet1!$A$1:$A$6,A2,Sheet1!$B$1:$B$6) という式、をB2に Excel2003までであれば、 =SUMIF(Sheet1!$A$1:$A$6,A2,Sheet1!$B$1:$B$6)/COUNTIF(Sheet1!$A$1:$A$6,A2) という式をB2に入れればで出来ます。 2.は配列数式を使います。 =INDEX(Sheet1!$B$1:$B$6,MAX((Sheet1!$A$1:$A$6=A2)*ROW(Sheet1!$A$1:$A$6))) という式をC2に入れ、数式バーに入れ、CtrlキーとShiftキーを押しながら、Enterキーで確定します。 1.2.いづれも、下へそのままコピーすれば、残りも出ます。 --------------------------------------------------------------------------- 1.は解決したのですが、2がまだ解決できていません。2の回答のようにすると「TRUE]と表示されてしまいます。 どなたか回答よろしくお願いいたします。

みんなの回答

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

 今仮に、Sheet1、Sheet2ともに、「商品名」と入力されているセルは、A1セルであるものとします。  又、Sheet3のA列を作業列として使用するものとします。  まず、Sheet3のA1セルに次の数式を入力して下さい。 =IF(AND(INDEX(Sheet1!$A:$A,ROW())<>"",COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=COUNTIF(Sheet1!$A:$A,INDEX(Sheet1!$A:$A,ROW()))),ROW(),"")  次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に貼り付けて下さい。  次に、Sheet2のA1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS($1:1))))  次に、Sheet2のB1セルに「平均額」、C1セルに「価格(現)」と入力して下さい。  次に、Sheet2のB2セルに次の数式を入力して下さい。 =IF($A2="","",SUMIF(Sheet1!$A:$A,$A2,Sheet1!$B:$B)/COUNTIF(Sheet1!$A:$A,$A2))  次に、Sheet2のC2セルに次の数式を入力して下さい。 =IF($A2="","",INDEX(Sheet1!$B:$B,SMALL(Sheet3!$A:$A,ROWS($1:2))))  次に、Sheet2のA1セルをコピーして、Sheet2のA2セルに貼り付けて下さい。  次に、Sheet2のA2~C2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  これで、仕入価格の商品別平均額と、商品別最新仕入価格が、商品名も含めて、Sheet2の表に、自動的に表示されます。

回答No.4

Sheet2!C2セルに =INDEX(Sheet1!B:B,MAX(INDEX((A2=Sheet1!$A$2:$A$6)*ROW(Sheet1!$A$2:$A$6),))) でもいいかも。でも数式の意味が分からないと思うので Sheet1!D2セルに =IF(ISNA(MATCH(A2,D3:D$3000,0)),A2,"") 下へオートフィル と作業列を作成すればよいと思います。

tamosuke_1983
質問者

お礼

回答ありがとうございます。 まだ奮闘中です.. エクセルの画像をアップしたいので新しく質問を立てたいと思います。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

ちゃんと計算できますよ。 数式入力時にEnterではなくShift+Ctrl+Enterで配列数式化で =INDEX(Sheet1!$B$1:$B$6,MAX((Sheet1!$A$1:$A$6=A2)*ROW(Sheet1!$A$1:$A$6))) の表示が {=INDEX(Sheet1!$B$1:$B$6,MAX((Sheet1!$A$1:$A$6=A2)*ROW(Sheet1!$A$1:$A$6)))} になってますか? 上記以外だと配列数式の代わりにSUMPRODUCT関数を使って =INDEX(Sheet1!$B$1:$B$6,SUMPRODUCT(MAX((Sheet1!$A$1:$A$6=Sheet2!$A2)*ROW(Sheet1!$A$1:$A$6)))) でも同様の結果になります。

tamosuke_1983
質問者

お礼

回答ありがとうございます。 まだ奮闘中です。 成功したら報告いたします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

配列数式などを使うことで計算に負担がかかります。作業列を使って対応するのがよいでしょう。 またこれまでの提案された方法では商品名が自動で表示されるわけではありません。 シート1のC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,INT(MAX(C$1:C1))+1+1/100000,INT(INDEX(C$1:C1,MATCH(A2,A:A,0)))+COUNTIF(A$2:A2,A2)/100000)) 次にシート2ですがA1セルには商品名、B1セルには平均額、C1セルには価格(現)とそれぞれ項目名が有るとしてA2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COLUMN(A1)=1,IF(COUNTIF(Sheet1!$C:$C,ROW(A1)+0.00001)=0,"",INDEX(Sheet1!$A:$A,MATCH(ROW(A1)+0.00001,Sheet1!$C:$C,0))),IF(COLUMN(A1)=2,IF($A2="","",SUMIF(Sheet1!$A:$A,$A2,Sheet1!$B:$B)/COUNTIF(Sheet1!$A:$A,$A2)),IF(COLUMN(A1)=3,IF($A2="","",INDEX(Sheet1!$B:$B,MATCH(INT(INDEX(Sheet1!$C:$C,MATCH($A2,Sheet1!$A:$A,0)))+COUNTIF(Sheet1!$A:$A,$A2)/100000,Sheet1!$C:$C,0))),""))) これで商品名も自動で追加表示されるようになりますね。

tamosuke_1983
質問者

お礼

回答どうもありがとうございます。 まだ、奮闘中です.. 成功したら報告します。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

寄せられた回答は合ってます。 >2の回答のようにすると「TRUE]と表示されてしまいます。 ということは,寄せられた回答「のように」できてないってことです。 再度数式を見直してください。 それでも解明できないときは,「あなたが実際にエクセルに投入して間違った答えが出た数式」を,あなたのエクセルからコピーして掲示しご相談を書くようにしてみてください。

tamosuke_1983
質問者

お礼

回答ありがとうございます。 再度チャレンジしてみます。 成功したら報告いたします。

関連するQ&A

  • エクセルで商品別の平均金額を出す方法

    始めて教えてgooを利用します。 よろしくお願いします。 エクセルで青果の仕入れを管理しようかと奮闘中なのですが、解らないことがあるので教えてください。(エクセルは初心者です。) シート1に     A    B    C    D  商品名  仕入価格  キャベツ 1000円  玉ねぎ  600円  キャベツ 800円  ポテト  500円  玉ねぎ 400円 シート2に     A    B    C    D  商品名  平均額 価格(現)  キャベツ  玉ねぎ  ポテト 1.商品別に仕入価格の平均額をシート2の平均額のセルに自動的に入力されるようにしたい。 2.シート2の価格(現)というセルには、シート1に入力した最後の仕入価格を出力したい。 この2つを実現する方法を教えてください。 よろしくお願い致します。

  • エクセルで商品別の平均金額を出す方法3

    なんども申し訳ないのですが、まだ解決できずにいます。 1.画像の右側のシートEの現在仕入に、左側シート(E)に入力した最後の仕入価格を出力したい。 前回、前々回の質問に回答をくれた方々、理解が足らず本当にすみません。 よろしくお願い致します。

  • 仕入れ価格を最近のだけ別シートへ(エクセル)

    以前にも同じような質問をして、沢山の方に回答して頂いたのですが、私の説明不足で解決できませんでしたので、再度の質問です。 (過去に質問した時のアドレスです。) http://okwave.jp/qa/q6977714.html http://okwave.jp/qa/q6977977.html http://okwave.jp/qa/q6978344.html 日々の青果物の仕入れをエクセルで管理しているのですが、直近に仕入れた野菜の仕入れ価格を自動で別シートに表示されるようにしたいのです。 添付画像のD列には同じ商品名が複数入力されていますが、その中から一番最近(下)の仕入れ価格(E列)だけを別シートに表示させたいのです。 イメージとして、              A     B 商品名  仕入れ価格       キャベツ  1200円       大根     1900円 ポテト    1700円 上記のようにしようと思っています。 このように以前同じような質問をした際に多くの方から回答をいただきましたが、解決にいたりませんでした。 原因は私の説明不足で、D列は関数を入力しているということです。以下D2に入力されている関数です。 =IF(ISERROR(LOOKUP(C3,商品!$A$1:$A$354,商品!$B$1:$B$348))," ",LOOKUP(C3,商品!$A$1:$A$354,商品!$B$1:$B$348)) この関数で、商品という名前の別シートに入力された内容を呼び込んでいます。 別シートの内容は下記のようになります。      A      B     92     キャベツ     9      胡瓜     47     レタス 商品に番号を割り当てている感じです。 C列に、割り当てられた数字を入力すると、D列に商品名が表示されます。 以前質問した時にはこの説明をしていませんでした。いろいろ試行錯誤しましたが、やはり解決できませんでしたので、回答よろしくお願いいたします。

  • エクセルの合計金額が知りたいです・・・。

    全くの初心者です。 商品の売り上げを、エクセルで打ち込んでます。 例えば、 4月分とし、シートは4つあります。 5月分とし、シートは4つあります。 それぞれ、ショートカット作成しております。 詳細は、 4月1日~10日まで・・・が1シート・・・のように、10日間ずつ打ち込んでます。 これを、「商品別」での、売り上げ(なにが一番売れてるのか)を知りたいのです。 まずは、各シートを、1つにまとめるんですよね?(違ったらすいません) 売り上げた、全商品が1シートにまとめます。 4月1日  タマネギ   100円 4月1日  にんじん   100円 4月2日  キャベツ   150円 4月3日  タマネギ   100円 4月3日  総菜    298円 4月4日  レタス     150円 4月4日  にんじん    100円 4月6日  タマネギ    200円 4月9日  白菜    120円 4月10日  ラーメン  380円 4月10日  にんじん  300円 4月11日  総菜   198円 ・ ・ ・ ・ ・ このように、打ち込んでます。 これを、商品別に並べたり、集計(販売合計)を、作成するためには、どうすればいいのでしょうか・・・。 初心者ですいません・・・。 アドバイスあれば、よろしくお願いします。 office 2013です。

  • 調和平均、算術平均について

    下記問題について質問があります。 問(a)、(b)それぞれどのような考え方で対応する回答の手法を用いたのか教えていただきたいです。 問題 総額1800円で、1本が100円、60円、40円の3種類のボールペンを買うとき (a)3種類を同額ずつ買うとすれば平均価格はいくらか。この場合の平均はどのような平均か。 (b)3種類を同じ本数ずつ買うとすれば平均価格はいくらか。この場合の平均はどのような平均か。 回答 (a)58.1円、調和平均 (b)66.7円、単純算術平均

  • エクセル2004で平均を出したいのですが…。

    カメラの価格の平均を出したくて、今エクセルを使って表にまとめようと思っています。 高校の授業とアパレルの店での管理業務で使った事しかなく、自分から表を作った事がありません。 単純に、日付と価格を入れて、その横にそこまでの平均が出て行く様にして行きたいのですが、どうしたらいいんでしょうか? 今一応オートでやろうと思っていたのですが… A日付B価格C平均価格 として、縦にドンドン価格を入れて行って、Cに平均が出てくれると嬉しいんです。価格の変動が見れるかな、と。 皆様の知恵をお借りできれば幸いです。 よろしくお願いします。

    • ベストアンサー
    • Mac
  • エクセル2000 平均値を記録したい

    Sheet1のA1セルからA40セルまである値が入力されています Sheet2のA1セルにはそれらの平均値が計算されています。 Sheet1の元の値が変更され平均値が変化したときにSheet2の新しい平均値はB1,B2,B3と下のセルに記録していくコード、または考え方を教えていただければ助かります。

  • エクセルで年齢別体重の平均

    こんばんわ。 エクセルシートで下記の表があるとします。   A  B 1 30 10 2 50 20 3 64 30 4 70 40 5 71 40 6 77 41 7 73 43 8 75 45 9 77 47  (中略) 20 60 49 21 55 55 A列:体重、B列:年齢です。 表はB列の数字で若い順に上から下へ並んでいます。 列に対して名前(体重など)の定義はしていません。 40歳代のうち若い方から数えて3番目~8番目の人の体重の平均を取りたいと思います。 このような表がたくさんあるときに関数を使って簡単に処理したいのですが、どのようにすればよいでしょうか。 教えてください。 よろしくお願いします。

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 AVERAGEやIFをいろいろ組み合わせてみたのですが、どうしても分からないので教えてください。   A   B    C    D    E    F    G   H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 どうかよろしくお願いします。

  • エクセルで平均値の求め方は?

    エクセルで平均値の求め方がわかりません。 以下のような表の場合で、回答者の平均年齢を求めるにはどうしたらいいんでしょうか。 A   B 年齢  件数 16   5 17   10 18   11 19   10 20   14 21   8 22   9 23   18 24   13 25   18 26   19 これまでは、 (1)年齢×件数=nを計算し、C列に仮配置 (2)SUM(C1:C10)/SUM(B1:B10) で計算していました。 よくわかる解説ページを教えていただくだけでも結構ですので、よろしくお願いします。

専門家に質問してみよう