• 締切済み

エクセルの合計

エクセルにダウンロードした月間の収入表があるのですが、 合計がある一定の金額以上の顧客のみ表示するにはどうすればいいでしょうか。 いつもオートフィルで顧客をソートして顧客をひとつずつ見て合計しています。

みんなの回答

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

回答No1です。 回答1では一定金額以上になっている行が何行あるかを求めるような式になっていました。どうやらご質問の意味は合計金額が一定の額以上の顧客のみを表示することのようですが、その場合でも内容はいろいろと考えられます。 ここでは顧客名とその合計金額を表示させる。また、さらに該当する顧客の内容すべてを表示させる。それぞれの方法について述べます。 シート1には元のデータが有って、まとめのデータをシート2に表示させることにします。 シート1では1行目には項目名がA1セルからF1セルまでに入力されているとしてA2セルの下方には顧客名がC2セルから下方には金額が入力されているとします。 データが多くなっても計算に負担のかからないために作業列を使って対応することにします。 ところで選択の基準となる一定金額ですがシート2のA1セルに入力することにしてシート2のB1セルには「円以上の顧客表」とでも入力します。その上で、シート1のG列を作業列としてG2セルには次の式を入力して下方にドラッグコピーします。 =IF(OR(Sheet2!A$1="",A2=""),"",IF(SUMIF(A:A,A2,C:C)<Sheet2!A$1,"",IF(COUNTIF(A$2:A2,A2)=1,ROUNDDOWN(MAX(G$1:G1),-3)+1001,INDEX(G$1:G1,MATCH(A2,A:A,0))+COUNTIF(A$2:A2,A2)-1))) シート2の作業に移ってA1セルには一定金額を入力します。 A2セルには顧客名、B2セルには合計金額と入力します。 A3セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)*1000>MAX(Sheet1!$G:$G),"",INDEX(Sheet1!$A:$A,MATCH(ROW(A1)*1000+1,Sheet1!$G:$G,0))) B3セルには次の式を入力して下方にドラッグコピーします。 =IF(A3="","",SUMIF(Sheet1!A:A,A3,Sheet1!C:C)) これで合計金額が一定額以上の顧客名と合計額が表示されます。 それらの顧客名ごとのシート1でのデータを表示させるのでしたら例えばD1セルから右側の列にシート1と同じ並びで項目目を入力します。 D2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR(ROW(A1)>COUNT(Sheet1!$G:$G),COLUMN(A1)>=MATCH(1001,Sheet1!$2:$2,0)),"",IF(INDEX(Sheet1!$A:$F,MATCH(SMALL(Sheet1!$G:$G,ROW(A1)),Sheet1!$G:$G,0),COLUMN(A1))=0,"",INDEX(Sheet1!$A:$F,MATCH(SMALL(Sheet1!$G:$G,ROW(A1)),Sheet1!$G:$G,0),COLUMN(A1))))

kingkingkingkin
質問者

お礼

すぐ回答をいただいたにも関わらず、お礼が遅れて申し訳ありませんでした。 エクセル初心者の私にはこの計算式はかなり敷居が高かったので、 今回は挫折してしまいましたが、また次回チャレンジしてみます!

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

まず1000以上か未満か、合計してみない事には当然わからないのですから、リストアップする前にまず一渡り合計してみない事には、どうなってるかなんて判りません。 あなたのエクセルが具体的にどうなっているのかさっぱり情報が無いので、次の通りに練習で作成してください。 作成例: A列に個客名 B列に毎回の金額 を並べる ご利用のエクセルのバージョンも不明のご相談なので、Excel2007以降を使います。 手順: A列をコピーしてC列にまるごと貼り付ける C列を選び、データタブの「重複の削除」を行う D2に =SUMIF(A:A,C2,B:B9 と記入、リストの下端までコピー貼り付ける C:D列を、D列降順で並べ替える。 D列に顧客ごとの合計額までしっかり求まっているので、てきとーに使用する。 以上の通りに作成して練習し、やり方が理解できたらあなたの本番で行ってください。 参考: 「合計がある一定金額以上の顧客がどの顧客なのか」目で見て判れば良い(合計の数字そのものはとりあえず要らない)のでしたら 作成例: A列に個客名 B列に毎回の金額 を並べる A列を選択、条件付き書式を開始する Excel2007以降では: 新しいルールを開始 数式を使用して…を選び 空欄に =SUMIF(A:A,A1,B:B)>=1000 などのように記入する もちろん「一定の合計金額」の具体的なあなたの数字で数式を作成する事 書式ボタンで「合計が一定額以上の顧客」のセルの塗色を設定する Excel2003以前では セルの値が → 数式が に変更する 空欄に =SUMIF(A:A,A1,B:B)>=1000 などのように記入する もちろん「一定の合計金額」の具体的なあなたの数字で数式を作成する事 書式ボタンで「合計が一定額以上の顧客」のセルの塗色を設定する

kingkingkingkin
質問者

お礼

非常に解り難い質問の仕方をしてしまい、大変失礼致しました。 にも関わらず的確にお答えいただき有難うございました!

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

例えばB列に数値が有るとして1000以上での合計を求めるとしたら次のような式になります。 =SUMIF(B:B,">=1000",B:B) 例えば1000の数値がC1セルにあるとしたら次のような式になります。 =SUMIF(B:B,">="&C1,B:B)

関連するQ&A