質問投稿でgooポイントが当たるキャンペーン実施中!!>>

【Sheet1】
・期間(日数)がバラバラ、且つ重複している広告売上データ
 │
 │別シートに関数で下記の内容を自動入力したい
 ↓
【Sheet2】
⇒日毎の売上金額を表示したい
 ※各広告の日割り(1日の平均)売上を計算



何方か、助けてくださいー。

宜しくお願いします。

「エクセル:期間がバラバラなデータを日毎に」の質問画像

A 回答 (3件)

こんばんは!


一例です。

Excel2007以降のバージョンをお使いだという前提で・・・
↓の画像で左側がSheet1とします。
Sheet1に作業用の列を設けます。
作業列F2セルに
=IF(E2="","",E2/D2)
という数式を入れフィルハンドルで下へずぃ~~~!っとコピー!

そしてSheet2のB2セルに
=SUMIFS(Sheet1!F:F,Sheet1!B:B,"<="&A2,Sheet1!C:C,">="&A2)
という数式を入れフィルハンドルで下へコピー!
これで画像のような感じになります。m(_ _)m
「エクセル:期間がバラバラなデータを日毎に」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました!
大変勉強になりました!感謝ですー。

お礼日時:2014/04/22 21:53

添付図参照


Sheet1!G2: =AND(G$1>=$B2,G$1<=$C2)*$E2/$D2
Sheet2!B2: =SUM(OFFSET(Sheet1!$G$2,,ROW(A1)-1,5))
「エクセル:期間がバラバラなデータを日毎に」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございました!
感謝ですー。大変助かりました。

お礼日時:2014/04/22 21:54

B2からB6に開始日,以降C列に終了日,D列に日数,E列に売上として



シート2のB2:
=SUM((Sheet1!$B$2:$B$6<=A2)*(A2<=Sheet1!$C$2:$C$6)*IF(Sheet1!$D$2:$D$6<>0,Sheet1!$E$2:$E$6/Sheet1!$D$2:$D$6,0))
と記入し,必ずコントロールキーとシフトキーを押しながらEnterで入力
以下コピー。
#シートが分かれているので,ひどく見にくい数式になります。



#計算式の組み方に注意しないと,シート1の数表に未記入等があった場合に計算できなくなりますので,寄せられた回答をよく検証して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました!
大変勉強になりました!感謝ですー。

お礼日時:2014/04/22 21:54

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで多数のシートをまとめる方法

エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

Aベストアンサー

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。

さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。

QEXCELで バラバラの列にあるデータを決められた列に移動したい。

EXCELで バラバラの列にあるデータを決められた列に移動したい。

EXCELで バラバラの列にあるデータを決められた列に移動したい。

例)
ABCDEFGHIGKLMN
2  4 5       245
3    2 5     325
1 5 2        152

例の通り A~Kの値を LMNのセルにもコピーして整理したい。

どうすれば、できますか。

Aベストアンサー

こんにちは!
一例です。

↓の画像でL1セルに
=IF(COUNT($A1:$K1)<COLUMN(A1),"",INDEX($A1:$K1,SMALL(IF($A1:$K1<>"",COLUMN($A$1:$K$1)),COLUMN(A1))))

これは配列数式になってしまいますので、この画面からL1セルにコピー&ペーストしただけではエラーになると思います。

L1セルに貼り付け後、F2キーを押す、またはL1セルをダブルクリック、または数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。
数式の前後に{ }マークが入り配列数式になります。

これを列方向と行方向にオートフィルでコピーすると
画像のような感じになります。

以上、参考になれば良いのですが
他に良い方法があれば読みまがしてくださいね。m(__)m

QExcelで2行を1行にまとめるには?

Excelで2行を1行にまとめる方法を教えてください。下の6行を2行にするには、どうしたらいいのでしょうか?
よろしくおねがいします。

Excel2003です。


A little knowledge is a dangerous thing.
(生兵法はけがのもと)
空白行
After a storm comes a calm.
(雨降って地固まる)
空白行


第1行:A little knowledge is a dangerous thing.(生兵法はけがのもと)
第2行:After a storm comes a calm.(雨降って地固まる)

Aベストアンサー

(データ)A1:A100
(1)A little knowledge is a dangerous thing.
(2)(生兵法はけがのもと)
(3)空白行
(4)After a storm comes a calm.
(5)(雨降って地固まる)
(6)空白行
(7)・・・・(略)
(8)・・・・
(9)・・・・
(関数式)E1に(B1でも良いが)
=INDEX($A$1:$A$100,(ROW()-1)*3+1,0)&INDEX($A$1:$A$100,(ROW()-1)*3+2,0)
E2以下最下行の1/3行まで複写する。
(結果)
(1)A little knowledge is a dangerous thing.(生兵法はけがのもと)
(2)After a storm comes a calm.(雨降って地固まる)
(3)以下略

Q複数の同じフォーマットのファイルを新しいブックで一つのシートにまとめる方法

仕事で、各部署から送られてきた、同じフォーマットのファイル(シート1にのみデータ有)が50個近くあります。
それを新しいブックで一つのシートにまとめなくてはいけません。
地道にコピペするのは時間がかかるのでマクロで処理を行いたいと思います。
マクロでの処理方法ご存知の方、処理方法の載っているサイトをご存知の方、もしくはマクロより簡単な方法がありましたら教えてください。

あと、逆に一つのシートをいくつかのファイルに振り分けていく方法もご存知でしたら教えて下さい。
よろしくお願いします。

Aベストアンサー

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
で試してみてください。使い方などは
http://oshiete1.goo.ne.jp/qa4225063.html
を参照してみてください。同じ質問があったので気がつきました。

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCop...続きを読む


人気Q&Aランキング