• 締切済み

SUMIF関数で解決出来ますか(集計方法)

例えば A列    B列 会社名   金額 というような表があるとします。 会社名のデータが不特定多数で、重複する会社名 も存在するとします。 会社ごとに集計をするのに、SUMIF関数を使う方法 を考えましたが、会社名が少なければ、条件を 入力するのも苦になりませんが、会社名がたくさん ある場合、条件を入力するだけでも大変です。 (存在する会社、すべての集計をしたい場合) 何かいい集計方法はありますでしょうか? ピポットテーブル、オートフィルタの機能は 使用したくありません。備考程度に、データの 集計結果が得たいと考えています。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

存在する会社名の一覧を毎回作り直しになるのは不都合ですよね。 そうなるとC列にて C2=IF(COUNTIF($A$2:$A2,A2)=1,SUMIF($A:$A,A2,$B:$B),"") として下方にコピーすれば 最初に会社名が入力された行にその会社の合計が表示されます。 これ以外だと会社名でソートして「データ」「集計」を使うぐらいでしょうか?

noname#204879
noname#204879
回答No.4

回答ではありません。参考までに教えてください。 》 会社名がたくさんある場合、条件を入力するだけで 》 も大変です と仰っています。「重複する会社名も存在する」とのこと、もっとも厄介なのが会社名を無重複にすることだと思うのですが、そのための最も簡単な手法がピボットテーブルと考えます。他に[フィルタオプションの設定]があります。 それなのに、なぜその機能を使用したくないのですか?

yakinasu
質問者

補足

ピポッテテーブルや集計機能で集計する方法は、ある程度までは、理解出来ているつもりです。 レイアウトや並び替えを気にせず、簡単に集計する方法がないのかなぁと思ったからです。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

私は常に言っているのだが、重複しない会社名の列を作ることも、本質問以上に難しい質問です。 ピボットテーブルの結果の会社名をコピーしてくるのが簡便ですが それがいやなら、例えば自称imogasi方式で、 ある会社名が初出の行に連番を振る列を作る。COUNTIF関数利用。 その連番と(別シートの行番号を関連させてデータを採ってくる (INDEX関数とMATCH関数利用) 方式で、会社一覧が作れます。 詳しくは「imogasi方式」でOKWAVEで照会すれば、私が回答した類似例が沢山出てきます。 会社一覧が出来上がれば=SUMIF()の第二番目引数として利用すれば、本質問の回答になります。

  • runbini
  • ベストアンサー率36% (48/130)
回答No.2

A列のみを元にピボットテーブルで、重複しない会社名を抜き出します。 後でピボットの列は削除します。一瞬だけです。 ピボットのレイアウトで行エリアとデータエリアに「会社名」という見出しを引っ張ってきます。 出来上がったピボットテーブルの会社名のみコピーし、 D列に貼り付け、適宜並べ替えを行うとします。 E2には =SUMPRODUCT((D2=$A$2:$A$100)*$B$2:$B$100) これを下までコピーします。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1

別シートの 列Aに 会社名を縦列に入力  (一度は入力しなければなりませんが.....) 列Bに =SUMIF( シート名!検索範囲 , 列Aのセルアドレス,シート名!合計範囲) にすれば?

関連するQ&A