アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで、複数の条件を満たす人の合計金額を出したいです。

①日にち
②名前
が同じ人の
③金額
を、
④その日その人が使った金額
として表示させる式が知りたいです。

添付画像を見てもらえれば分かりやすいと思います。

https://oshiete.goo.ne.jp/qa/965242.html
↑こちらで出ている式に条件を足せばいいのでは?と思ったのですがうまくいきません。

よろしくお願いします。

「【至急】エクセルで、複数の条件を満たす人」の質問画像

A 回答 (4件)

こんばんは!



画像を拝見すると「日付」が1日分だけのようですが・・・
B列の日付が1日分だけの場合、AC2セルに
=IF(COUNTIF(N$2:N2,N2)=1,SUMIF(N:N,N2,AB:AB),"")
という数式を入れフィルハンドルで下へコピーしてみてください。

B列日付が複数存在するのであれば
=IF(COUNTIFS(B$2:B2,B2,N$2:N2,N2)=1,SUMIFS(AB:AB,B:B,B2,N:N,N2),"")
としてみてください。

※ 名前の並びはバラバラで構いませんが、
最初に出現した行に金額が表示されます。m(_ _)m
    • good
    • 0

とりあえずデータが2~9行に入っているとして、


AC2に次の式を入れます。
=IF(SUMPRODUCT((B$2:B2&N$2:N2=B2&N2)*1)=1,SUMPRODUCT((B$2:B$9=B2)*1,(N$2:N$9=N2)*1,(AB$2:AB$9)),"")
後は必要なだけコピーしてください。

終わりの行数は、$9となっている3箇所を$○と変えれば自由に設定できます。
配列計算なので、行全体とかに設定してしまうと重くなってしまいますので、範囲指定はあまり大きくしすぎない方がよろしいかと。

内容としては、「B列とN列のデータをつなげたもの」が一致する行を、2行目からその行までにいくつあるか数えて、それが1だった場合=日にちと名前の組み合わせが初めて出てきた場合は、B列とN列が一致する行のAB列を合計して表示する。 組み合わせが初めてではなかった場合は空白を表示する。
というものになっています。
    • good
    • 0

紙の上で計算するとき、どのような手順で計算しますか。


それと同じ手順で計算すればいいのです。

・空いている列に「日付」と「名前」が一致する行を見つけて印を付ける。
・印を付けた全て行に「金額」を合計を記入する。(記入しないまでも、メモをする)
・印の一番上の「その日の金額」に記入する。
…じゃないかな。

同じことをExcelにやらせればいい。
 SUMIFS関数で「日付」と「名前」が一致する金額を合計する。
 AD列にこの関数を使った式を書くと、
  =SUMIFS(合計対象 , 合計条件範囲1,合計条件1 , 合計条件範囲2,合計条件2)
 のように書くので
  =SUMIFS(AB:AB , B:B,B1 , N:N,N1)
 とAD1セルに記入し必要な行までコピーする。
 するとAD列には、質問の例では上から
 15000,15000,3000,3000,3000,9500,9500,9500
 のようになるはずです。

 COUNTIFS関数で「名前」と「日付」の組み合わせがいくつあるのか、行ごとに書き出す。
 AE列にこの関数を使った式を書くと、
  =COUNTIFS(検索条件範囲1,検索条件1 , 検索条件範囲2,検索条件2)
 のように書くので
  =COUNTIFS(B:B,B1 , N:N,N1)
 とAE1セルに記入し必要な行までコピーする。
 AE列に出力される値は、質問の例では上から
 1,2,1,2,1,1,2,3
 のようになるはずです。
 この時「1」が、複数の条件が一致した場合の一番上にある行であることを示します。

 最後にAC列には、
 AE列が「1」ならAD列の値を表示、「1」以外なら空白
 の数式を書けばよい。
 =IF(AE1=1,AD1,"")
簡単です。
この後、AD列とAE列を非表示にすれば見た目は変わりません。

なお、これを1つの数式で作るのは、もっと勉強してからで良いと思います。(配列数式を使います)
初めは作業用の列を作って処理をするようにしてみましょう。
これで十分実用的な使い方ができます。


・・・余談・・・
誰かが作ってくれたものをそのまま使うのではなく、
どのようにして作るのかを理解しないと応用はできませんし
常に誰かに作ってもらわねば対処できないことになります。
難しく考える必要はありません。
処理を分けて考えることができるように努力してみましょう。


※1列丸ごと検索の対象にする時は、「B:B」のように行番号を省略します。
 2行目から9行目までを常に参照する場合は、「B$2:B$9」のように行番号の前に「$」を付けると良いでしょう。
    • good
    • 0

以下の関数が使えます。


SUMIFS …2007以降
SUMPRODUC …全バージョン
両者は同じ機能ですが、記述順が異なるので注意してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!