• ベストアンサー

エクセルの関数で質問です。

=SUMIFS(C$6:C$1354,$P$6:$P$1354,"",C$6:C$1354,">0")+SUMIFS(C$6:C$1354,$P$6:$P$1354,$B$1482,C$6:C$1354,">0") この関数をかんたんにできませんか? P列には日付が入力されており、 $B$1482は特定の日付と符号をあわせてます。(=">"&日付の暗号) SUMPRODUCTを使って{"",$B$1482}でできると思ったらできませんでした。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

=sumproduct(C$6:C$1354,0+(C$6:C$1354>0),($P$6:$P$1354="")+($P$6:$P$1354=$B$1482)) なお配列定数 { } の中にセル参照は使えません。

ayushuha
質問者

お礼

{}にセル参照はできないのですね。どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    A列に日付、C列に文字列、E列に数値があります。 仮に、日付は2013年4月だけ、文字列は”事務” だけに条件を絞ってE列の数値を合計する場合、エクセル2000では =SUMPRODUCT((C$1:C$1000="事務")*(TEXT(A$1:A$1000,"yyyymm")="201304")*E$1:E$1000) でうまくいきました。 こんどエクセルが2010になったので、あたらしくできたSUMIFS関数でやってみようと思い =SUMIFS(E:E,C:C, ”事務”,TEXT(A:A,"yyyymm"),”201304”) としましたが「数式が正しくありません」とエラーになってしまいます。 SUMIFS関数だと列のセル範囲を指定しなくていいので使いたいのですが・・・。 F列を作業列とし、ここにA列の日付をyyyymm形式の文字列とすれば =SUMIFS(E:E,C:C,"事務 ",F:F,"201304") で出来ますが、ほかにいい方法はないでしょうか?

  • SUMIFS関数の質問

    エクセルで A列のあたいがE1セルに一致し、B列の値が文字列"00"でないC列の数値を合計したい場合、 これまでエクセル2003の時は =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15) のように書いてきました。 これをエクセル2010で、SUMIFS関数にしようと思い =SUMIFS(C:C,A:A,E1,B:B,<>"00") としてみました。 ところが、テストでわずか14行でやってみると答えが違うのです。 わたしのSUMIFS関数の理解があやまっているのでしょうか? 教えてください。 テストに使った2行目から15行はこんな感じです。E1セルには文字列 A があり、 =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15)  は27を =SUMIFS(C:C,A:A,E1,B:B,"<>00")  は28を返します。 A 00 1 A 01 2 A 02 3 A 03 4 A 04 5 A 05 6 A 06 7 B 07 8 B 08 9 B 09 10 B 10 11 C 11 12 D 12 13 D 13 14

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

    エクセルで作成した表から ○○かつ●●のデータ個数を求めたく、 SUMPRODUCT関数を こちらで調べておりましたが どうしても解決しない部分があります。 どうぞ よろしくお願いいたします。 下記8桁数字は、日付です。 カウントしたい数は、B列(終了)が、A1セルに入力された年月かつ、区分(C列)が「A」の数です。 =SUMPRODUCT((LEFT(B2:B100,6)=A1)*(C2:C100="A")) こちらで、『B列=A1セル かつ C列="A"』のみのカウントは出来たのですが、 終了延長(D列)が空欄でない場合は、D列日付データの方をカウントする。 早期終了(E列)が空欄でない場合は、D列・B列よりも E列を優先し、カウントする。という条件を付けたいのですが、 Sheet1 A1セルに「200810(数を調べたい年月を入力)」 (開始)  (終了)     (区分)  (終了延長)  (早期終了)  A列     B列      C列     D列      E列 20061001   20081001   A    -        - 20070926   20081020   A    -        - 20071102   20081009   A    20081201    - 20080101   20081013   B    -        - 20080208   20081010   A    -        20080210 ・・・ この場合、「2」となるようにです。 IF、OR関数あたりかな と考えておりますが、SUMPRODUCT関数のどの部分で条件付ければ良いか解りません。 説明下手で大変申し訳ございませんが、ご助力いただければ幸いです。 

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

    エクセルの日付関数について教えてください。 A列には日付が入力されています。 B列には金額が入力されています。 C列にも日付が入力されています。 A1に入力された日付(例:2010/4/30)とC1に入力された日付(例:2010/4/30)が同じ日付のときだけ、B列の金額を抽出しD10に合算させたいと考えています。 ***【サンプル】*****************************    A   B   C   D 1 4/30  100  4/30 2 4/30  200  4/30 3 5/1   100   4 5/2   200  5/2 5 5/2   100  5/2 6 7 8 9 10            同じ日付(1)の合計 11            同じ日付(2)の合計 ******************************************* 上記の場合のD10やD11の関数は、どのような関数に すべきでしょうか? どなたかご教授をお願い致します。 【環境】 WindowsXP Pro Excel 2003

  • エクセルの関数

    A列に日付B列に金額が入っています。 C1とD1に日付を入力するセルをつくり C1の日からD1の日のB列金額の合計を出したい場合 どのような関数を使えば良いですか?SUMIFで出来ますか?

  • エクセルの関数についての質問です。

    エクセルの関数についての質問です。 画像のように横に1、2、3…(100くらいまで続きます)縦にA、B、Cの行があります(端が切れちゃってますが、A2にA、A3にB、A4にCです) B2から横の列にはそれぞれ☆や○等いろいろな記号が入ります。 そしてこの記号には特定の値が決められています。☆=10、○=5、△=3 B3から横には、B2の記号にそった数字が入ります。(10やら5等) そこまではIF関数で式を作ったのですが、ここからが問題でして… B2から横に1から100まで、記号(B3から横に数字)を入力していった時のB3列の合計が仮に212とします。 合計した値が200を越えてしまった場合、B4からの列に数字を入力するようにしたいのです。 (200ギリギリ前くらいまではB3の列で、それを越える時からB4の列に入力します。その際、B3列に入る数字は消えます) なおかつ可能であれば、このB4からの列に入るのはランダムにできるといいのですが…(画像では○の数字を下ろしていますが、☆の数字をおろしても良いし、△の数字をおろしても良い) ●計算式によって入力された数字(B3列)を特定の数字を越えた場合、別の枠(B4列)に移す関数はありますでしょうか?? ●また、それをランダム(関数)で選ぶことは可能でしょうか?? よろしくお願いします。

  • エクセル2007のcountifs,sumifsについて

    以前は複数条件を設定する場合にはsumproductを使っていましたが 使い慣れたcountif,sumifに複数の条件が設定できると知り、 計算式を作ってみましたがうまくいきません。 期間内の数値の入力されているセルの個数を求めたくて 次のような式にしてみました。 D1は2009/10/1 D2は2009/11/1 p6:p331は金額 B6:B331は日付 =COUNTIFS(P6:P331,">=1",B6:B331,"and(>=D1,<=D2") 実際には30程該当するセルがあるのに0と表示されます。日付の 部分がおかしいのだとは思いますがどのように入力したらいいのでしょうか。 それと、金額の入力してあるセルを指定するのに >=1としていますが これも他に数値を表す関数とかありますでしょうか。 同じようにSUMIFSも0になってしまいます。

  • エクセルの関数で教えてください。

    色々調べて重複しない関数は分かったのですが、 例: SUMPRODUCT((A1:A10="○○")/COUNTIFS(A1:A$10,A1:A$10&"",C1:C101,C31:C10&"")) この条件にさらに下記内容を追加してカウントしたいです。 B列が0と未入力以外 どうか助けて下さい!

  • エクセル2003での質問です

    エクセルの関数の質問です  例えばですが、シート1をデータシートして、A列に日付とし、B列にりんごの種類、C列にみかんの種類  D列にいちごの種類とした時に、シート2を検索シートとした場合、検索シートのA1に特定の日付を  入力した時、B1に特定の条件で表示出来る方法が知りたいです。  通常、はD1列(いちごの列は、データが全て入っています)の「いちご」を表示させ、  B列にりんごを入力した場合は「りんご、いちご」と表示させ  C列にみかんが入力された時は、「みかん」と表示させたいのです。   (B、C列は日付により「みかん」だけ、「りんご」だけとかあります) よろしくお願いします。

  • エクセル関数について

    エクセル関数について質問です。 簡単に説明すると特定のセルに特定の数値を入力するとその行の別のセルの数値を別のセルに表示させたい。 たとえば     A      B       C 1  100            2  200      1      100 3  300      1      300 4  400 5  合計            400 上記の様になっていた場合 A列は定数で固定です。B列のセルに1と入力(1でなくてもよい)した行のA列の数値を Cに表示したいのですが、 C列にどの様な関数を使ったらいいんでしょうか?宜しくお願い致します。

専門家に質問してみよう