• ベストアンサー

エクセルの算式について 種類を同じ項目ごとにまとめて、その項目ごとの数

エクセルの算式について 種類を同じ項目ごとにまとめて、その項目ごとの数量を合計するには、どの様な算式を使えばいいのでしょうか?種類の欄には数十種類の項目が有りどの種類の項目が来るかわかりません。ですので集計側にあらかじめ候補を出しておいての集計は出来ません。どうかお知恵を貸して下さい。よろしくお願いします。

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

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

その通りにデータをエクセル上に記入してから, D2に =IF(ROW(A1)>COUNT(1/FREQUENCY(A:A,A:A)),"",SMALL(IF(ROW($A$2:$A$15)=MATCH($A$2:$A$15,A:A,0),$A$2:$A$15),ROW(A1))) という式を(これをコピーして)入れて,必ずコントロールキーとシフトキーを押しながらEnterで,忘れず間違えずに入力して,下向けにコピーしておきます E2に =IF(D2="","",SUMIF(A:A,D2,B:B)) と普通に入れて,下向けにコピーしておきます。 ただし,こんなイミフメイの式をただ写して使ってもあとで困るだけです(実はホントのデータはこうではありませんでした,答えを聞けば出来ると思ったけど出来ませんでしたになる場合も多いです)から, 推奨手順: 空っぽのD1セルを選ぶ データタブの「統合」を開始する AB列を追加する 左端列にチェックしてOKする と,必ず答えが出てきます。

kintuna55
質問者

お礼

ありがとうございます。統合は少し前に勉強したばかりで、その時使って解決したらすっかり頭から抜けていました。教えて頂いた通り推奨手順で解決しました。助かりました。 しかし、凄い算式が有るんですね。理解したい気持ちは有るんですが・・・。確かに私のレベルでは、意味不明です。精進します。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

種類が例示のデータのように数字で入力されているなら、D2セルに「=MIN(A:A)」と入力し、D3セルに「=IF(OR(MAX(A:A)=D2,D2=""),"",SMALL(A:A,RANK(D2,A:A,2)+COUNTIF(A:A,D2)))」と入力して下方向にオートフィルして下さい。 もちろんE列の集計はSUMIF関数でできますね。 ちなみに実際のA列のデータが数字でなく文字列なら、重複のない文字列データを表示するならD2セルに以下の式を入力して下方向にオートフィルしてください。 =INDEX(A:A,SMALL(INDEX((MATCH(A$2:A$100&"",A$2:A$100&"",)<>ROW(A$2:A$100)-1)*100+ROW(A$2:A$100),),ROW(A1)))&""

kintuna55
質問者

お礼

ありがとうございます。 皆さんのおかげで何とかなりました。 教えて頂いた算式もチャレンジさせて頂きます。意味合いを理解できるようにして、今後活用して行きたいと思います。しかしみなさん素晴らしいですね。

  • aquiz
  • ベストアンサー率46% (759/1635)
回答No.1

希望とは違うかもしれませんが、集計機能を使っての 表示ではだめなのでしょうか?

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/syukei.html
kintuna55
質問者

お礼

早速ありがとうございます。 集計機能はやってみたのですが、その後に結果だけ拾い上げるのにどうしていいものか悩んでいました。可視セルって言う物が有るのですね。勉強になりました。 ついついすぐに算式を考えてしまうのも問題ですね。それ以外の機能も勉強して行きます。ありがとうございました。

関連するQ&A