- 締切済み
エクセル データを集計する方法
価格シートの中から必要な数値を集計シートに転記したいです。 転記したいのは、品名、開始月、終了月、実際販売価格、単価、手数料です。 開始月は初めて単価に入力があった月で、終了月は単価の入力が0になる前の月です。 終了後も0の入力は続きます。 取引中に0が入ることはありません。 実際販売価格、単価、手数料は、一番最後(一番下)の数値を転記したいのですが、 下はずっと0が続きますので、0以外の一番下の数値を転記したいです。 表(価格シート)が固定の場合は関数でなんとか転記させることができるのですが、 取扱が増える毎に6列ずつ右にズレていくので、その都度数字がズレてしまいます。 集計シートで品名を入れたら、開始月、終了月、実際販売価格、単価、手数料が表示されるようにしたいのですが、 どのようにしたらよいか教えていただけませんでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
質問の表現がわかりにくい。画像添付だけで、(初心者がよくやる流儀)質問というか文章で表現出来てない。コメントを付ける必要がある場合が常々多いと思う。 どうも「データを集計する方法 」=集計ではなく、条件にあった行(例 最終)のセル・データを集める(採ってきたい)、ような問題らしいがどうか?。 ーー 私の私見では、VBAを使わないと、スムーズな処理・回答ができないように思う。 関数で処理するのも、質問者は、質問の内容を、整理した表現ができて無いところから、質問者のレベルではこの課題は、無理で、この元データを作った、システム部などの担当者に頼むべきだ。その元データを作った人も、エクセルのデータ処理の場合の、こうすれば難しくなる、など判ってないのかも。 私なら、下記のように表現する。 1.第1行目に製品名がある。1列目は製品名で、次の製品の情報は 6列右から始まる。以下同じ。製品数は不明。 (これだと、製品がたくさんあると、どこかの列で、別のシートや、下の行に繰り越すばあいが出てくるのではないか?こういう、列ごとのデータ並びに設計をするのは、エクセル的には好ましくないと思う。) 2.この1製品のデータのブロックのデータは、複数列あり、それらの列データごとに「条件をかけて」その合致したデータを、それぞれ、結果データの、製品行の列に並べる。 ・実際販売価格 最終行(下方向に考えて0になる前のデータ) ・単価 最終行(同上) ・手数料 最終行 (同上) この0は表示形式で0になっていて、エクセルの「セルの値」的には、空白と考えてよいのかどうかわかりにくい。VBAでやるなら、空白なら、データ最終行の検知が簡単(End(xlIp)で、やりやすい。 また各データの(各商品も含めて考えて)最終行は、各製品で同じ行なのか?製品や項目によっては、1,2行のバラツキがあるのか? など疑問に思った。
- kkkkkm
- ベストアンサー率66% (1742/2617)
> の画像(集計シート)のB2にはどのような計算式を入れたら良いか それは > 表(価格シート)が固定の場合は関数でなんとか転記させることができ ているわけですよね。その関数式の参照範囲等をOFFSETやMATCH等利用して変更したらどうですかと提案しているわけです。
- kkkkkm
- ベストアンサー率66% (1742/2617)
> B2を例にした場合 B2(表示元)を変更したい場合だとたとえば =OFFSET(B2,0,MATCH(A4,B1:M1,0)-1) ですが、実際はB2という結果が出る関数式の参照先や範囲に適用して結果を変更するという手段じゃないでしょうか。
- kkkkkm
- ベストアンサー率66% (1742/2617)
> (価格シート)が固定の場合は関数でなんとか転記させることができる でしたら、その関数の列指定部分をOFFSET関数とMATCH関数でずらしていけばいいのではないでしょうか。 =OFFSET(基本のセル位置,0,MATCH(A2,価格シートの品名のセル範囲,0)-1) みたいな感じでずらす量を求められそうです。
お礼
アドバイスありがとうございます。 B2を例にした場合、どのような式を入れたら良いか教えていただけませんでしょうか?
お礼
失礼いたしました。 B2は下の画像(集計シート)のことでした。 上の画像(価格シート)のB2(品名)が変わった場合に、下の画像(集計シート)の項目が自動で変わるように設定したいと思っておりました。 下の画像(集計シート)のB2にはどのような計算式を入れたら良いか教えていただけませんでしょうか?