• ベストアンサー

エクセル関数について教えてください。

エクセル関数について教えてください。 受取手形の集計をしたいのですが。。 例えば A社 100 B社 200 A社 300 C社 400 C社 500 と以下収受した順でエクセルに打ち込んでいます。 大体月で100枚前後あるのですが、そこで数枚あるA社C社は合計して、且つ金額の上位順でならべたいのですが関数を使ってできますか? この様に表示させたいです。 C社 900 A社 400 B社 200 ・ ・ ・ 宜しくお願いします。

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

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

例えば次のようにしてはいかがでしょう。 A1セルには社名、B1セルには金額などの項目名があり、それぞれのデータは2行目から下方に並んでいるとします。 C列は作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(A$2:A2,A2)=1,SUMIF(A:A,A2,B:B),"") お求めの表はE列とF列に表示させるとしてE1セルには社名、F1セルには合計金額とでも入力します。 E2セルには次の式を入力してF2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>COUNT($C:$C),"",INDEX($A:$C,MATCH(LARGE($C:$C,ROW(A1)),$C:$C,0),IF(COLUMN(A1)=1,1,3))) これでE列には合計金額の多い順から社名が表示され、F列にはその合計金額が表示されます。

kokoro1224
質問者

お礼

ありがとうございますした★

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法はいかがでしょうか。 データはsheet1!A:B範囲、並び替え表をsheet2とします。 (1)データシートの先頭行は見出し行とします。見出し行がなければ先頭行に挿入して下さい。 (2)Sheet2を選択→データ→フィルタ→フィルタオプションの設定→「指定した範囲」を選択、リスト範囲欄にsheet1!A:A、抽出範囲欄にA1、「重複するレコードは無視する」を選択→OK (3)sheet2のB2に=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)を入力、B1を選択しフィルボタン(B1セルの右枠下の■)をダブルクリック (4)Sheet2をA1を選択、データ→並び替えで最優先キーをB列、データ範囲の先頭行はタイトル行を選択→OK

回答No.2

関数ではありませんが、データの並べ替えと集計機能で可能です。 まず、入力データを社名をキーにして昇順に並べ替えます。 次に、集計機能で、社名をキーにして手形金額を集計します。 シート左端に集計のグループのマークが出ています。 この上部の[2]を押すと、小計と総計の行だけが表示されます。 ここでこの小計と総計の範囲を選択して、小計の金額をキーにして降順に並べ替えます。 すると、結果は社名ごとに合計額の多い順に並びます。 ここで、シート左端の[3]をクリックすると明細行も表示できます。 少々ややこしいかもしれませんが、一度やったら判ります。 なれた方がいれば、マクロに組むと自動的に処理ができるかもしれません 並べ替えと集計の機能の詳細は、ヘルプ(F1)でご欄下さい。 データ件数が一定でない場合はこの方が複雑な関数を使うより簡単だと思います。

  • yui-magic
  • ベストアンサー率62% (20/32)
回答No.1

とにかく金額順で並び替えをすればいいわけですよね? 並び替えをするにはRANK関数というものがあります。 100枚もあるのでしたら関数だと範囲等の数値の書き換えが大変なので マクロを組まれたらどうですか?

関連するQ&A

専門家に質問してみよう