• ベストアンサー

エクセル関数

データベースを作っていて、抽出した数値を合計する関数を入力しています。SUMIFを使っているんですが、SUMIFだと検索条件が1つしか選べません、複数の検索条件で抽出した数値を合計するにはどうすればいいでしょうか??できればフィルタは使わない方法でおねがいします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

=SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) 例 D列がAで且つE列がBのF列の合計 =SUMPRODUCT(($D$1:$D$100="A")*($E$1:$E$100="B")*($F$1:$F$100)) D列が10以上20未満のF列の合計 =SUMPRODUCT(($D$1:$D$100>=10)*($D$1:$D$100<20)*($F$1:$F$100)) D列の日付が1月で、E列の1文字目がBのF列の合計 =SUMPRODUCT((MONTH($D$1:$D$100)=1)*(LEFT($E$1:$E$100,1)="B")*($F$1:$F$100)) 他に配列数式を使う方法やDSUM関数を使う方法があります。

momoten105jp
質問者

補足

そんなに応用できるんですかぁ!!ありがとうございます!!

その他の回答 (3)

  • 134
  • ベストアンサー率27% (162/600)
回答No.4

具体的にどういう関数をお望みなのか、わかりません 配列関数というものが、回答の中にありますが… =sum(if((条件1)*(条件2),合計する範囲,"")) と入力して、CtrlとShiftを押しながら、Enterを押すことで入力できる関数です。 例えば、 =sum(if(($a$2:$a$100<50)*($b$2:$b$100),$c$2:$c$100,"")) と入力して、Ctrl+Shift にて、Enter…など 条件不明なので、どう入力したらいいかまで お答えできませんけど。

momoten105jp
質問者

お礼

説明不足でした、改めて質問しようとおもいます。 =sum(if((条件1)*(条件2),合計する範囲,""))は役に立ちそうです^^ ありがとうございました^^

noname#204879
noname#204879
回答No.3

「SUMIFだと検索条件が1つしか選べません」からと言って、必ずしも「複数の検索条件で抽出した数値を合計する」ことが出来ないとは言えません。 “押しても駄目なら引いてみよ”で、具体例を示せば望外の名案が得られるかもよ。勝手に決め付けない方がよろしいかと。

momoten105jp
質問者

補足

確かに決め付けるのはよくないですね^^; あまりエクセルが得意じゃないのですいません;;

  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.2

SUMPRODUCT関数を利用したらいかがでしょうか。 使い方の例は下記のページを参照してみてください。

参考URL:
http://www.excel-jiten.net/apply_funcs_001/sum_by_and_condition.html
momoten105jp
質問者

補足

とてもわかり易く説明してありました^^ありがとうございます。 データ入力の前にSUMPURODUCTを入れておくとエラーになってしまうんですね、SUMIFの時はなかったのですが・・・何か解決方があったらおねがいします。

関連するQ&A

  • エクセル関数について

    エクセルでデータベースを作っています。別のシートからデータを抽出して合計を出すというものなのですが、どうも関数がうまくいきません。 別のシートには日付・現場名・費目・時間・金額などが入力されています。(オートフィルタが使われていました)そしてデータベースには現場名と費目から金額の合計を抽出したいのですが、どんな関数を使っていいのか分かりません。 =SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) =SUMPRODUCT((入力!$C$3:$C$9810=Sheet1!$B3)*(入力!$G$3:$G$9810=Sheet1!C$1)*(入力!$K$3:$K$9810)) というものを使っていたのですが、別シートのデータが入力されていない所まで範囲を指定するとエラーになってしまいます。 =sumifだとエラーにならないのですが、私の技術では1つの条件(現場名だけ)しか抽出、合計できません。 入力されていない所を範囲指定してもエラーにならなくて上の事が出来る関数はないでしょうか、よろしくおねがいします。

  • エクセル関数で困ってます。

    "オートフィルタ"使用中に "SUMIF"と"COUNTIF"も使用したいのですが… ある条件を"オートフィルタ"で 抽出した以下のような数値を、元に計算したいです。     「A」 「1」 +80 「2」 -10 「6」 +70 「9」 -20 「10」 +60 「11」 -30 「15」 +50 「18」 -40 「19」 +40 「20」 -30 ※「」は行、列の意味です。 ※「行」の数字が飛んでいるのは、オートフィルタで条件抽出の為 抽出された「行」のみ表示されているというイメージです。 ※列は、1列のみです。 上の数値の プラス(0以上の数値)の値 マイナス(0以下の数値)の値 プラス(0以上の数値)の平均値 マイナス(0以下の数値)の平均値 全てのデータの個数の合計 を出したいのですが オートフィルタを使用中が条件なんです。 現在は、抽出したデータをコピーし 計算シートに貼り付けしている状態です。 出来れば、一度に出したいです。 よろしくお願いします<m(__)m>

  • エクセルのデータベース関数について

    エクセルのデータベース関数について質問します。 データベースの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数を数えたいと思います。が、その列が複数あり、また、条件も複数ある場合、DCOUNT関数を使うと、データベース関数に指定した条件が設定されているセル範囲をいくつも設定しなくてはならないのでしょうか? 以前、Lotusを使っていた時は、#and#という形で、条件をいくつも指定することが出来たのですが、そういったことは出来るのでしょうか? わかりにくい表現かもしれませんが、よろしくお願いします。

  • SUMIF関数で、「ブランク以外を合計」を指定したい

    SUMIF(範囲,検索条件,[合計範囲]) の、検索条件部分に、 「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」 といった意味合いの条件を指定したいのですが、その方法がわかりません。 画像で説明させていただくと、 A2のセルにSUMIF関数を用いて、 文字が入力されているc,d,e列の数値を合計し、 90という結果が欲しい、ということです。 どなたかご教授をお願いいたしますm(__)m

  • エクセル関数について

    エクセルです。 複数条件の抽出なのですが、 A列に”○が入力されているB列の”×”の合計をだすにはどんな関数をどのように利用すれば宜しいでしょうか。

  • エクセルのSUMIF関数について

    エクセルのSUMIF関数を使って、条件にあった値の合計値を求めるのですが、この条件を複数指定する事は可能なのでしょうか?

  • sumifのように条件に見合う合計を「数値」ではなく「データ(セル)」の合計を集計したいのですが

    SUMIFを使って合計範囲の数値の合計を求めるように、合計範囲の「データが入力されているセル」の合計を求めたいのですが、何かいい関数はありませんでしょうか? 言い換えると、COUNTAを使ってセルの個数を求める場合に検索条件をSUMIFのように特定の検索条件を指定できる関数です。 いろいろ探しましたがうまい方法が見当たりません。 使用方法としては、各曜日ごとのメニュー別の売上金額の合計と人数の合計を求めようとしています。 ワークシートに入力されてるデータは ・各曜日 ・顧客名 ・メニューと支払われた金額 です。 SUMIFを使って、検索条件に各曜日をあてはめ、曜日ごとのメニュー別売上は集計できました。 金額が入力されているセルを合計すれば各メニューごとの人数まで集計できるはずなのですが、SUMIFが「数値」しか集計できない為にそれに代わる関数を探しています。 どうぞよろしくお願い致します。

  • エクセルSUMIF関数とOR条件

    「X」の条件を満たすデータをの合計を計算したい場合SUMIF関数、「X」および「Y」の条件を満たすデータの合計を計算したい場合は、SUMPRODUCT関数が使えると思いますが、 「X」または「Y」の条件を満たすデータの合計を計算したい場合は、 SUMIF(検索範囲,"X",合計範囲)+SUMIF(検索範囲,"Y",合計範囲)とやるしかないですか? それとも、SUMIFを並べなくても、1回で計算できる関数がありますか? ご存知の方、ご教授下さい。 どうぞよろしくお願いいたします。

  • エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。

    皆さんどうか教えてください エクセルにおいて複数の条件から抽出することができる関数(式)を教えてください。 400  70円  ad   6個 700  60円  da 7個   100  30円 ad   9個 400  50円  ad   10個 などの表で、400で70円でadなものの数を求める 条件で数値を求めるにはどうすればいいのでしょうか また条件にあったデータに6個などの数値をかけて合計した数値を求めるにはどうすればいいのでしょうか 関数でできる方法をお願いします。 あと”なおかつ”などの条件を行う関数も教えてください どうかヨロシクお願いします。

  • エクセルのかんたんなについて関数

    SUMIFと同じ要領で、検索条件と検索範囲を2つ以上にして合計を出力したいのですが、うまくいきません。他の関数を組み合わせ方や、数式の記入の仕方を教えて下さい。

専門家に質問してみよう