• ベストアンサー

【Excel】日付を条件のひとつに指定してデータ集計

Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd] B列(B7セル以下) → 文字列 C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 例えば、A列の日付が 06/09/29 以前で、かつ、B列にある特定の文字(仮にえくせるとします)が含まれるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

仮にセル範囲が100行までとした場合、 表示したいセルに =SUMPRODUCT((A7:A100<=DATE(2006,9,29))*(B7:B100="えくせる")*(D7:D100)) では、どうでしょうか?

rx-z5815
質問者

お礼

回答ありがとうございます。 質問文ではB列は文字列でとしか記載していませんでしたが、実際には“-”(ハイフン)を含んだ12桁の数字を文字列で表示しています。 B列の条件を、12桁の数字の中に『0123-』を含むという検索条件にしたいのですが、教えていただいた数式の場合、単純に"えくせる"を『*0123-*』としても、正しい計算結果は得られませんよね? 質問文の例では、『特定の文字が含まれる』の特定の文字を仮にえくせるとしましたが、文字列でも数字の場合だと違ってくるのでしょうか? よろしければ、再度アドバイスをいただけると助かります。

その他の回答 (1)

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

=SUMPRODUCT(($A$7:$A$99<="2006/09/29"*1)*ISNUMBER(FIND("えくせる",$B$7:$B$99))*($D$7:$D99))

rx-z5815
質問者

お礼

回答ありがとうございます。 No.1の回答者のお礼の欄にも書いていますが、B列の文字列は、“-”(ハイフン)を含む12桁の数字です。 実際には『0123-』を含むという条件にしたいのですが、教えていただいた数式中の"えくせる"を"*0123-*"と変更してみたところ、正しい計算結果が得られませんでした。 文字列でも、数字の場合は何か違ってくるのでしょうか? よろしければ、再度アドバイスいただけると助かります。

関連するQ&A

  • 【Excel】条件を満たすデータの集計について

    Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd 形式] B列(B7セル以下) → “-”(ハイフン)を含む11桁の数字[例:1234567-8900] C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 A列の日付が 06/09/29 以前で、かつ、B列のハイフン前の4桁が『4567』であるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 前回、同様の質問(No.3403437)で回答をいただきましたが、例の挙げ方が良くなかったようで、実際には正しい計算結果を得ることができませんでした。 よろしくお願いします。

  • 【Excel】日付を条件のひとつに指定してデータ集計

    Excel2003を使用しています。 Sheet1   A    B         C 1 4/1  (株)Excel    \100 2 4/1  ACCESS    \300 3 4/1  Excel(株)    \200 4 4/2  Word       \150 5 4/2  Excel       \100 6 4/3  ACCESS(有)  \200 7 4/3  Excel       \100 7 4/3  (有)ACCESS  \100 が入力されている表があります。 Sheet2に   A    B    C 1 4/2  合計値 個数 2 4/3  合計値 個数 Sheet2のA1セルに日付(仮に4/2とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にExcelとします)を検索し、両条件に一致したC列の合計を Sheet2のB1セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 又、上記同様で Sheet2のA1セルに日付(仮に4/3とします)を入力したら、Sheet1にある条件に一致する日付を検索し、尚且つ、部分一致する文字列(仮にACCESSとします)を検索し、両条件に一致した個数を Sheet2のC2セルに表示させる様にしたいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

  • エクセルの日付機能

    エクセルの日付機能に関する質問です。 あるワークシートのA列に日、B列に月、C列に年が入力されています。これらの日付を行ごとに結合して、D列にdd/mm/yyという形式で表示させたいと考えています。 先ほど、D2に[=A2&"/"&B2&"/"&C2]という計算式を入力し、D列を右クリックして[セルの書式設定]→[表示設定]→[ユーザー定義]で[種類]欄に[dd/mm/yy]と入力しましたが、D2は日付として認識されず、ただの文字列として認識されているようです。 統合された文字列が日付として認識される良い方法を教えていただけないでしょうか?よろしくお願いします。

  • 日付の計算中に・・・

    こんにちは、教えてください。 今、日付から日付を引いて残りが、何年何ヶ月かという計算を しております。     A        B          C 1  2007/8/31 - 2006/5/30  =  yy/mm/dd このように行っております。 上から順番に計算を行っていたのですが、 あるC列の数行目にきたところ、"yy/mm/dd"が 反対になっていました。"dd/mm/yy"というように。。。 書式設定でyy/mm/ddに変更しても効果無しでした。。。 一体どうしてでしょうか?? お分かりの方、教えてください!

  • 【Excel】2つの条件を満たすデータの集計

    Excel2003を使用しています。 C7:C38で『A』が含まれていて、かつ、D7:D38で『B』が入力されている、F7:F38の数値の合計を任意のセルに表示させたいのですが、どのようにしたらいいでしょうか? いろいろと試してみましたが、思い通りにならなくて。。。 よろしくお願いします。

  • Excel関数 2つの条件で集計するには?

    エクセル関数についての質問があります。 A列に赤・黄・青のいずれか B列に○・△・□のいずれか C列に数値のデータが入力されているとします。 このとき、A列が赤且つB列が○となっている 数値を集計する関数もしくは方法はありますか? SUMIFでは条件は一つしか使えませんよね? 現在はC列の数値を、B列が○のときはD列に B列が△のときはE列に、B列が□のときはF列に 表示させるようにし、B列をキーにD~F列の数値 をそれぞれ集計しています。 件数が多いときはめんどうなので、いい方法が ありましたら、教えてください。 よろしくお願いします。

  • 日付の書式

    Excel2010でA列の日付の書式をB列に「[$-411]ge.mm.dd」、C列に「yyyy.mm,dd」の書式に変換したい。 B列、C列のB1,C1に「=IF(A1="","",A1)」の式を使用し、下方向にコピーした。 A列2012.1.1、2012.2.25、2912.12.31の日付はB,C列に変換されない。 A列2012.01,01、2012.02.25はB列が変化しない。 書式を変化させる方法はありますか

  • SUMPRODUCT 複数条件と日付

    関数初心者です。Excel2000を使用しています。 SUMPRODUCT関数を使って複数条件の集計をしたいのですが、どうしても日付の列に反応してくれません。 おそらく原因はデータ元となる日付に時間まで入っているからではないかと思っています。 日付が入力されているセルのデータは 例) 2012/3/3 12:10:50 → セルの書式設定は 時刻のみ 12:10:50 集計したいのは複数条件 例) 2012/3/3 12:10:50 りんご 50  日付 と 商品名 を条件とし 数値 の合計を出したいです。 秒単位で時間計測しているのでこのデータ自体の変更と書式設定の変更は出来ません。 =SUMPRODUCT((B6:B12=B3)*(C6:C12=C3),(D6:D12)) B3のセルに「3/3」もしくは「2012/03/03」の入力で拾えるようにしたくて、 過去のの質問など参考にし(B6:B12=B3)の部分を変更しましたが、うまくいきませんでした。 やってみたことが的外れだったのかもしれません。 また、日付を条件とした場合、書式設定も影響されるのでしょうか? アドバイスをよろしくお願いします。

  • 指定範囲の条件に合致する順位

    EXCELのVBAで以下のことをやりたいのですが、分かりません。 アドバイス頂けますでしょうか。 例として、1から40行固定の表があります。A、B、C、D列とあり、 A列は数値が必ず入っているセル(1~40)、 B列は時間のシリアル値で、値が入っているセルと入っていないセルの混在、 C列は文字列で値が必ず入っているセル、 D列は数値で、、値が入っているセルと入っていないセルの混在、という表があるとします。 この時に、 「”Bに値が入っていて、かつ、Dに値が入っていない行”の、”B列のトップ3”の、AとBのデータ」が 欲しいのですがどのようにしたらいいか分かりません。 お願いいたします

  • EXCEL2007の関数について

    EXCEL2007を使って集計を取ることになりました。 下記の表のD列に以下のような関数?を記入したいのですが分からないので教えてください。 B列に「お」の記入がある場合のみ(B2)、一つ右のセル(C2)の文字列を「お」のセルから右に2、上に1移動したセル(D1)にコピーしたいです。この場合で言うとD1のセルだけに「か」と記入されるようにしたいのです。   A  B  C  D 1 あ  い  う   2 え  お  か 3 き  く  け D1のセルの場合には =OFFSET(B2,,1) と入力するまでは分かったのですが、これにB2のセルの文字列が「お」の場合のみという条件が付けられません。 私のEXCELの知識は普段関数を使わないのでFOM出版の「よくわかるEXCEL2007」の基本編と応用編を2冊勉強し終えて課題に取り組んでいる程度です。 お手数ですが分かる方、ご教示願えませんでしょうか。

専門家に質問してみよう