• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文: エクセルについて質問です。 )

エクセルで同じ日付に同じ名前があった場合の売上合計から10%引きたい方法

このQ&Aのポイント
  • エクセルで同じ日付に同じ名前があった場合、その名前の人の売上合計から10%引きたい方法について質問があります。
  • A列からZ列に日付や売上などが書かれた表があり、同じ日付に同じ名前がある場合、K列またはJ列の売上を足して10%をU列に表示したいと考えています。
  • 関数の知識がなく、検索してもわからなかったため、教えていただきたいです。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

A2以降に日付、E2以降に名前、V2以降に売上合計(J列とK列の合計)が入っている物とします。 W列を作業列として使い、日付+名前のデータを作ります。W2に =A2&E2 入れて下までコピーします。 U2に、以下の式を入れて下までコピーします。なお、999はデータの最大数よりも多い数値として適当に入れて居ます。データが1000以上あるのでしたらもっと大きな数にしてください。 =IF(COUNTIF(W:W,W2)=1,"",IF(COUNTIF(W3:W$999,W2)=0,SUMIF(W:W,W2,V:V)*0.1,"")) これでどうでしょう?

xxx0105xxx
質問者

お礼

できました! ありがとうございます。 とても助かりました。 皆様、本当にありがとうございました。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 外しているかもしれませんが・・・ ↓の画像のように作業用にV列を使わせてもらっています。 まず、作業列V2セルに =IF(OR(E2="",COUNTIF($E$2:E2,E2)<COUNTIF($E$2:$E$100,E2)),"",E2) そして、U2セルに =IF(V2="","",(SUMIF($E$2:$E$100,V2,$J$2:$J$100)+SUMIF($E$2:$E$100,V2,$K$2:$K$100))*0.1) という数式を入れ、U2・V2セルを範囲指定し、V2セルのフィルハンドルで下へコピーすると画像のような感じになります。 前提として、A列の日付は全て同一日としています。 尚、数式は100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

xxx0105xxx
質問者

お礼

どうもありがとうございました。 無事にできました。

xxx0105xxx
質問者

補足

どうもありがとうございます。 付け足しで申し訳ないのですが、JとKに分けていた売り上げを、 V列にまとめることになりました。なので、U2に入力するところを少し変えて 入力してみたところ、3回登場した人のは、その合計から10%で間違いなく表示 されたのですが、1回しか登場していない人の売り上げも10%が表示されてしまいました。 それから、同じシートで日付が変わる(1ヶ月1シートなので)のですが、 A列の日付が変わってしまうと問題でしょうか? 本当によくわからないまま、質問してしまい申し訳ありません。

noname#204879
noname#204879
回答No.3

》 …売上合計から10%引きたい 》 …売上を足して、その10%をU列に表示したい 上の「引きたい」と「表示したい」は同じことですか? “合計から引く”は“引き算する”のようにも解釈されるけど、日本語は大丈夫ですか? それから「同じ人が同じ日に」3回以上登場することはないのですか?その場合2回目も3回目も「売上を足して、その10%をU列に表示したい」のですか?

xxx0105xxx
質問者

お礼

すみません。やはりまだ言葉不足です。 三回登場した場合、その人の一番最後の行にだけ10%を表示したいのです。 それから、JとKに分けていた売り上げを、V列にまとめることになりました。 重ね重ね申し訳ありません。

xxx0105xxx
質問者

補足

言葉足らずで申し訳ありません。 引くために、10%を「表示したい」という意味です。 同じ人が3回登場す売ることもあり、その場合、3回分の売り上げ合計の10%を表示したいです。

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

回答No1です。 U1セルへの入力の式は次の式で十分ですね。 =IF(OR(V1="",COUNTIF(V:V,V1)=1,COUNTIF(V$1:V1,V1)<COUNTIF(V:V,V1)),"",(SUMIF(V:V,V1,J:J)+SUMIF(V:V,V1,K:K))*0.1)

xxx0105xxx
質問者

お礼

ありがとうございます。 Vには値が入っていましたので、AAに作業領域を作り、上記の関数を入れてみました。 すると、「#NAME?」となってしまいました。 それから、JとKに分けていた売り上げを、V列にまとめることになりました。 重ね重ね申し訳ありません。

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

式が複雑になり計算も重くなりますので作業列を作って対応するのがよいでしょう。 例えばV1セルに次の式を入力して下方にオートフィルドラッグします。 =A1&E1 そこでU列ですがU1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(V1="",COUNTIF(V:V,V1)=1,COUNTIF(V$1:V1,V1)<COUNTIF(V:V,V1)),"",IF(COUNTIF(V$1:V1,V1)=COUNTIF(V:V,V1),(SUMIF(V:V,V1,J:J)+SUMIF(V:V,V1,K:K))*0.1,""))

xxx0105xxx
質問者

お礼

お礼が遅くなりまして申し訳ありません。 やってみます。

関連するQ&A