ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの特定項目の数量算出と抜粋方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
前回の質問より日が経たない状態で連投申し訳ありません。

以前、こちらで質問させて頂いたデータを上司に見せたところ
「もーちょっと円グラフとかあるとわかりやすいなー」
とかヌカしやがったんで、再度質問をさせて下さい。

【やりたい事】
?最終目標は左図画像のように、各[工程]という項目を1つだけ抜粋し、
?その[工程]という項目の合計を出し
?それを円グラフへと反映したい。

【概要】
真ん中の画像の通り、まずはグラフ化の為に計算領域を作成。
上記?の円グラフへの反映は可変グラフも考えましたが、
手間がかかりそうなので挫折。そのまま範囲指定をして
グラフメニューの「空白は無視する」でごまかす予定です。

【困っている事】
特定項目である[工程]を抜粋する為に『数量』セルをSUMIF関数で合計を算出。
すると、一番右の画像のように合計が各セルに表示される。

これを解消する為にIF関数・OR関数を使い条件指定を行いましたが
全部空白になるという失敗っぷり(笑)

そのまま数値データを表示したまま、[工程]項目を表示させようと思い
以前、教えて頂いた関数で表示させるも、重複する項目まで
表示されてしまう為、計画が頓挫。

【そこで】
上記【やりたい事】の? 及び?の解決方法を教えて頂きたいと思います。
「教えて貰ってばかりいないで少しは自分で努力しろよ」という声も聞こえてきそうですので
『○○関数と△△関数を使えばできるよ』というレスでもありがたいです。
ですが、計算式を教えて頂けるともっとありがたいです。

なお、当方Excel2010を使用しております。

上記、よろしくお願い致します。

コメント(7)

ピボットテーブルでいけるんじゃないですかね?
作業列を使って良いなら、IF関数とCOUNTIF関数で1個目を探し、連番を振るなりして
それを、表にして、それを条件にSUMIFをすれば、出来ると思いますよ
>Yujinさん
ピボットテーブルって手を忘れてました。
早速グラフ化したところ…。

おお!できた!と、喜んだのもつかの間。
データ更新した場合は「データ更新」作業をしなきゃなんですね…。
ウチの上司…覚えるという作業を極端に嫌う人ですので、
マクロボタンを作ってワンタッチ更新にしても、嫌な顔されるんですよ…。
という事で、今回はごめんなさい。関数でチャレンジします。



>マリ男さん
ヒントありがとうございます。
早速、IF関数、COUNTIF関数を使い工程項目を表示。
その後、数量項目をSUMIF関数で求めた結果、一番左のような画像になりました。
それをグラフ化したら、真ん中のような画像になりました。

…わかりづらっ!

表に空白を空けたままグラフ化するとこうなっちゃいました。
空白のセルを無視する。という項目を使えば、キチンと表示されると
勘違いしていただけに、ショックな結果でした。

結局、一番道の画像のように空白のセルを作らずに関数を入力するしかないようです。

ここで質問です。
以前のレスで

>連番を振るなりして

という一言がありましたが、それはLARGE関数 もしくはMATCH関数という事でしょうか?
IF関数・MATCH関数の組み合わせだと、全セルが空白になるか、
全セルに項目が表示された為、挫折。

LARGE関数だと、SUMIF関数を組み合わせて使おうとして
条件の絞込み方がわからず、挫折。

何か良い案がありましたが、再度ご教授をお願いします。
D列を作業列とする
D3セル =IF(COUNTIF($A$3:A3,A3)<>1,"",MAX($D$2:D2)+1)
E3セル =IF((ROW()-2)>MAX($D$3:$D$22),"",INDEX($A$3:$C$22,MATCH(ROW()-2,$D$3:$D$22,0),1))
F3セル =IF(E3="","",SUMIF($A$3:$A$22,E3,$C$3:$C$22))
D3:F3をD22:F22までコピー又はオートフィル
例えば、関数で重複なしの合計表を作っておいて
グラフの範囲を動的に変更することも出来ます

表が存在するSheetを「Sheet1」とします

名前の定義で例えば

名前 : グラフ範囲_系列
範囲 : Sheet1
参照範囲 : =Sheet1!$F$3:INDEX(Sheet1!$F:$F,2+COUNT(Sheet1!$F:$F))

名前 : グラフ範囲_項目
範囲 : Sheet1
参照範囲 : =Sheet1!$E$3:INDEX(Sheet1!$E:$E,2+COUNT(Sheet1!$F:$F))

というように定義する

グラフのほうは
系列値の参照を
=Sheet1!グラフ範囲_系列

軸ラベルの範囲の参照を
=Sheet1!グラフ範囲_項目

というようにする
>マリ男さん
結局…数式の記入をして頂き、ありがとうございます(汗)
MAX関数+1って手法で連番を振るんですね…。
その発想はまったく思いつきませんでした。

今後の糧とさせて頂きます。

あ。あと可変式グラフの名前定義のご教授、ありがとうございました!
実は「どーやるんだったっけかな〜」ってボンヤリ思い出そうとしてた矢先に
追記して頂いていたので、非常に楽が出来ました(笑)

ありがとうございました。
解決できました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。