- 締切済み
ExCEL2000合計
A列になにかしらのデータ(ランダムです。ちなみに日付です) が何行がおきにならんでいます (何行おきかはランダムです) そのデータ(日付)ごとにC列に数値があります。 数値もランダムです。数値の個数もランダムです。 A列にデータの入っている行にだけその日付ごとの数値の合計値をだしたいのです。 関数とかつかってできますでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
#3です。 少々間違いがありましたので再度書かせていただきます。 (事務局の方、#3は削除してください) ------------------------------------------------ 日付順に集計する方法を考えてみます。 仮に、A1:A25に日付、C1:C25にデータがあるとします。 E1に「1/1」と入力して[Enter]キーを押します。 次に、E1セルに戻って、[Del]キーを押して表示を削除してから、次の式を入力します。 =IF(MIN($A$1:$A$25)+ROW()-1>MAX($A$1:$A$25),"データ終了",MIN($A$1:$A$25)+ROW()-1) 次に、F1にも式を入力します。 =SUMIF($A$1:$A$25,E1,$C$1:$C$25) 最後に、E1:F1を範囲指定し、F1セルの右下にある小さな黒い四角(■:フィルハンドル)を下のほうへ「データ終了」の表示が出るまでドラッグしてください。 (なお、この操作の代わりにコピー&貼り付けでもOKです。E1:F1を範囲指定し、「コピー」して、次にE2:Fxまで範囲指定して、「貼り付け」すれば良いです。これを「データ終了」の表示が出るまで続けてください) 今度は大丈夫なはずですが・・・今日はちとミスが多いので、「自信なし」とさせていただきます。
- maruru01
- ベストアンサー率51% (1179/2272)
No.2です。 >「0」となってしまいました A列にはどのように日付を入力していますか? 一般的な日付データ(日付のシリアル値)になっていなくて、単なる文字列になっているのでは? 試しに、A列のセルの表示形式を「標準」にしてみて下さい。 「38035」のような5桁の整数にならなければ、日付のシリアル値ではなく、単なる文字列が入力されています。 その場合は、私の数式(No.3の方のも)では出来ません。
お礼
何度もありがとうございます! はい、形式は たとえば 「2002/1/1」このようになっています。 シリアル値ではないと、使えなかったのですね。 お手数おかけいたしましたm(__)m これからは、質問に「日付」の場合は、「シリアル値」か 普通の文字列(2002/1/1)かどうかも 書けばいいのでしょうか?
日付順に集計する方法を考えてみます。 仮に、A1:A25に日付、C1:C25にデータがあるとします。 E1に次の式を入力します。 =MIN($A$1:$A$13)+ROW()-1 次に、F1にも式を入力します。 =SUMIF($A$1:$A$25,E1,$C$1:$C$25) 最後に、E1:F1を範囲指定し、F1セルの右下にある小さな黒い四角(■:フィルハンドル)を下のほうへ必要に応じてドラッグしてください。
お礼
すみません、わたしのやり方がわるいんだとおもいます。 その関数を入れると、なぜか E列が0,1,2,3,4,・・・とならび、F列が0000とならびます。。 (涙
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 日付はシリアル値という数値データなので、以下のように出来ます。 =SUMIF(A:A,">0",C:C)
お礼
(涙)やり方がわるいんでしょうか。。。 1行目はタイトルなので、D2にそれをコピペしましたが 「0」となってしまいました。。。どうしてでしょうか。。ありがとうございましたm(__)m
- koh_rei
- ベストアンサー率20% (24/115)
IFでA列にデータが入っていない場合は空白にして、 A列にデータが入っている場合は、サムイフでC列を合計すれば良いと思います。 2行目ならば =IF(ISBLANK(A2),"",SUMIF(A:A,A2,C:C)) です
お礼
ほんとうにありがとうございます! ですが、なかなかむずかしいもので、 実は、A列は、重複するデータを条件付書式で 消していたもので、 実はかくれデータがあったのです。 なので、一つ一つ手作業でデータを消し、実行してみました でも、できました!!!感謝です
お礼
あれれ。。やっぱりだめでした。。。(涙 ちなみにEには0、データ終了、とか表示され、Fには0がつづきます。。 いろいろ試行錯誤した結果、 =IF(A2<>A3,SUMIF(A:A,A2,C:C),"") 上記の関数で解決いたしましたm(__)m