• ベストアンサー

エクセル 週ごとの数値抽出

月曜日から日曜日までの出荷数の合計を出すにはどうすればよいのでしょうか? 今のところ、セルR2C3の月の数値を変えると日付と曜日が出てくる所まで出来ました。 セルR6C2の部分の関数は「=R2C3+1」、セルR6C3の関数は「=TEXT(RC[-1],"aaa")」となっています。 来月からも使いたいのでセルR2C3の数値を変えるだけで反映されるよう表示させたいです。 よろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 横からお邪魔します。 第1週 → 第1日曜が出現するまでの合計 という解釈です。 画像の配置通りだとして、R5C7に =SUMIF(C[-5],"<="&R2C[-4]-1-WEEKDAY(R2C[-4]-7,3)+7*ROW(R[-4]C[-6]),C[-2])-SUMIF(C[-5],"<="&R2C[-4]-1-WEEKDAY(R2C[-4],3)+7*(ROW(R[-4]C[-6])-1),C[-2]) という数式を入れオートフィルで下へコピーしてみてください。 ※ 考え方 ※ 数式を入れた行(1行目)は 表内の第1日曜までの合計 から その先週(日曜)までの合計をマイナスした数値。 これを下へコピーしますので、 2行目は 第2日曜までの合計 から 第1日曜までの合計をマイナスした数値。 3行目は 第3日曜までの合計 から第2日曜までの合計をマイナスした数値。 という繰り返しになります。 ※ 数式がR1C1形式なので数式だけをみると理解するのに難しいかもしれません。m(_ _)m

yukhfs
質問者

お礼

ありがとうございます!!! 非常に助かりました。

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

その他の回答 (6)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.7

>月曜日から日曜日までの出荷数の合計を出すにはどうすればよいのでしょうか? 第1週目は7日間にならないことを考えて特別な扱いをしなければなりません。 第1週目=SUM(OFFSET(R4C[-5],1,3):OFFSET(R4C[-5],MATCH("日",R5C[-4]:R35C[-4],0),3)) 第2週目=SUM(OFFSET(R4C[-5],MATCH("月",R6C[-4]:R35C[-4],0)+(ROWS(R6C[-6]:RC[-6])-1)*7+1,3):OFFSET(R4C[-5],MATCH("月",R6C[-4]:R35C[-4],0)+ROWS(R6C[-6]:RC[-6])*7,3)) 第3週目以降は第2週目をオートフィルで下へコピーすれば集計できます。 MATCH関数で最初の月曜日の行を検出して、そこから7行毎に区切ってSUM関数で集計しています。 但し、40行まで計算範囲に入りますので別の用途に使わないでください。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

>月曜日から日曜日までの出荷数の合計を出す との事ですが、1日目が月曜日ではない月や、月末が日曜日で終わっている訳ではない月の場合には、「月曜日から始まって日曜日で終わっている」という訳ではない週も出て来きます。  例えば、2014年の1月の場合、1日(水)~5日(日)は月曜日から始まっている週ではありませんし、27日(月)~31日(金)は日曜日で終わってはおりません。  その様な端数の様な日の出荷数に関しては集計しなくとも良いという条件なのでしょうか?  それとも、R5C7セルの第1週目の所には1日(水)~7日(火)の期間における出荷数の合計を表示し、 R6C7セルの第2週目の所には8日(水)~14日(火)の期間における出荷数の合計を表示し、 R7C7セルの第3週目の所には15日(水)~21日(火)の期間における出荷数の合計を表示し、 R8C7セルの第4週目の所には22日(水)~28日(火)の期間における出荷数の合計を表示し、 R9C7セルの第5週目の所には29日(水)~31日(火)の期間における出荷数の合計を表示し、 R10C7セルの第6週目の所には何も表示しない という事なのでしょうか?  或いは、また別の条件で集計したいという事なのでしょうか?  取り敢えずの話として、端数の様な日の出荷数は集計しない場合の方法を回答致しますので、もし、この条件とは異なる条件で集計を行いたいという事でしたら、補足欄等を使用して、どの様な集計のやり方をしたいのかという事を御教え願います。  まず、R5C7セルに次の関数を入力して下さい。 =IF(OR(ISERROR(1/DAY(R2C3)),ROWS(R5:R)>COUNTIF(R5C3:R35C3,"日")-(R5C3<>"月")),"",SUM(OFFSET(INDEX(R5C5:R35C5,MATCH("月",R5C3:R35C3,0)),(ROWS(R5:R)-1)*7,,7)))  次に、R5C7セルをコピーして、R6C7~R8C7のセル範囲に貼り付けて下さい。(この条件の下では、第5週目は存在しません)  以上です。

全文を見る
すると、全ての回答が全文表示されます。
  • NukoTarou
  • ベストアンサー率29% (5/17)
回答No.4

すみません、回答2です。 第○週の右横に合計を出すには、ということですね。 質問本文をよく読まずに申し訳ありません。 8列目に「第○週」という作業列をつくらせて下さい。 (1) R5C8に次の数式を入力する。    =INT((WEEKDAY($R5$C2,3)+DAY(R5C2)-1)/7)+1 (2) R5C8の数式をドラッグして、R35C8までコピー。 これで、8列目に、それぞれの日にちが、月の中の第○週であるか表示されます。 あとは、これをSUMIF関数で集計します。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

第1週=SUM(OFFSET(R5C2,0,3,MAX(7-WEEKDAY(R5C2,2),0)+1,1)) 第2週=SUM(OFFSET(R5C2,8-WEEKDAY(R5C2,2),3,7,1)) 第3週=SUM(OFFSET(R5C2,15-WEEKDAY(R5C2,2),3,7,1)) 第4週=SUM(OFFSET(R5C2,22-WEEKDAY(R5C2,2),3,7,1)) 第5週=IF(DAY(DATE(YEAR(R5C2),MONTH(R5C2)+1,0))-MAX(7-WEEKDAY(R5C2,2),0)>22,SUM(OFFSET(R5C2,29-WEEKDAY(R5C2,2),3,MIN(DAY(DATE(YEAR(R5C2),MONTH(R5C2)+1,0))-29+WEEKDAY(R5C2,2),7),1)),"-") 第6週=IF(DAY(DATE(YEAR(R5C2),MONTH(R5C2)+1,0))-MAX(7-WEEKDAY(R5C2,2),0)>29,SUM(OFFSET(R5C2,36-WEEKDAY(R5C2,2),3,MIN(DAY(DATE(YEAR(R5C2),MONTH(R5C2)+1,0))-29+WEEKDAY(R5C2,2),7),1)),"-")

全文を見る
すると、全ての回答が全文表示されます。
  • NukoTarou
  • ベストアンサー率29% (5/17)
回答No.2

タイトルが「週ごとの数値の抽出」となっているのですが、質問本文では、単に「年月を指定するとその下に各日付とその曜日を表示したい」という内容に読めるのですが、そう言うことでいいでしょうか。 RCタイプでのセル番地表示になれていないのでミスがあった申し訳ないです。 (1)R2C3には「2013/12/1」の様に、作成したい月報の月の初日(日付型データ)を入力することにします。  (表示形式を「yyyy"年"mm"月"」とするなどで、「2013年12月」と表示されます。) (2)R5C2に「=R2C3」、R5C3には「=R5C2」の数式を入力します。 (3)セルの表示形式で、    R5C2は、「ユーザー定義」を選択して d とすると、        その日付型データが持っている日付けのみが表示されます。        (二桁表示にしたければ dd とします。)    R5C3は、「ユーザー定義」を選択して aaa とすると、        その日付型データが持っている曜日のみが表示されます。 (4)R6C2のセルに、次の数式を入力します。   =IF(MONTH(R5C2+1)=MONTH($R2$C3),R5C2+1,"翌月分へ")  R6C3のセルに、次の数式を入力します。   =R6C2  この時点では、どちらのセルも「数値」が表示されていて「?」となると思いますが、次の(5)へ。 (5) R6C2とR6C3の表示形式を、それぞれ、R5C2とR5C3と同じにするため、   「R5C2とR5C3」をドラッグして選択し、「コピー」        ↓   「R6C2」をクリックし、「形式を選択して貼り付け」の中の「書式」を選択して貼り付け。   これで「2」と「月」が表示されたと思います。 (6) R6C2とR6C3をドラッグして選択。   オートフィルを使って、下に31日分まで(R35の列まで)コピーします。 以上のような感じでしょうか。 2月の月末とか、若干変な表示になりますが、勘弁して下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

R5C6以下には数字の1から6を記入し、セルの書式設定の表示形式のユーザー定義で 第0週 と設定しておく R5C7には =SUMIF(C2,"<="&R2C3-1-WEEKDAY(R2C3-7,3)+RC[-1]*7,C5)-SUM(R4C7:R[-1]C) として第6週までコピー貼り付けておく。

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

関連するQ&A

  • エクセル2007でのカレンダー作成

    エクセルでカレンダーを作成したいのですが、関数がわからず悩んでいます。 カレンダーといっても七曜日のものではなく、月曜日から金曜日までの五日間を繰り返すものです。(勤務体系の資料に使うものです) セルC3に年・月を入力し、その後D3~Z3~AB3の合計25セルに「日付」が、D4~Z4~AB4の合計25セルに「曜日(月~金の繰り返し」を出すことは可能でしょうか? 25セルあるのは、平日五日間×五週間=25セルとなっています。週に合わせて日付が反映されるようにしたいのです。 たとえば、今年の11月の場合だと、3日・月曜日は二週目になるので、二週目月曜日の位置(I3)の位置に3と表示されるように、12月の場合だと、一週目月曜日の位置(D3)の位置に1と表示されるようにしたいです。 加えて、日付が埋まらないセルは、下段の曜日と一緒に空白のセルになるようにしたいです。 ご指導よろしくお願いします。

  • Excel 数式の結果である数値のみ合計

    図のような表を作成しています。 A~C列にはVLOOKUPの関数で別シートのセルが反映されているのですが、C21にC5~C12における数式の結果である数値のみ(「♯N/A」を除く)の合計を出すにはどうすれば良いのでしょうか? 初心者ですみません。。。

  • エクセル、日曜日だけ除いた平均値の求め方。

    よろしくお願いします。 Aには日付、BにはTEXT(曜日)Cには数字 8/1 日 1 8/2 月 10 8/3 火 3    :    : そこで、日曜日だけを除いた、平均値と 月曜日だけの平均値を出したいと思っています。 TRIMMEAN関数を使いなんとかやろうとしてるのですが・・なかなかできません。 よろしくお願いします。

  • エクセル結合されたセルを使いたい

    SUMIFで結合されたセルの情報を持ってきたいのですが方法が分かりません。くわしいかたよろしくお願いします。 A1B1C1に晴れ合計,曇り合計,雨合計 があり、A2B2C2にそれぞれの合計を入れたいです。 SUMIFの検索範囲はM1N1O1に日付,曜日,天気が入っており「1日,月曜,晴れ」のような形で M1~DA1まで、「1日,月曜,晴れ,2日,日曜,晴れ~31日,日曜,曇り」のようにデータが並んでいます。 そして、M2~DA2まで、3つのセルを結合した形で数字が入力されています。 M2~入力されている数字を合計したいのですが、 晴れ =SUMIF($M$1:$DA$1,A1,M2:$DD$2)という式をいれても、結合されているだけでO2やR2は空白の扱いになっているので集計できません。 何かいい方法はないでしょうか?

  • エクセルの日付自動入力について教えてください。

    エクセルの日付自動入力について教えてください。 商品の出荷情報をエクセルで作成しています。毎週月~土曜日の顧客管理を作成しており、 商品を出荷した日付が自動的に更新されるようにしたいです。 例えば、 現在今週の月曜出荷の情報だと、A1セルに6/21と手入力し、 21日が過ぎた時点(翌日22日に)に翌週の日付6/28という日付を手入力(A1セルに上書き)している状況です。この翌週の日付を自動的に同じA1セルに上書きという形で反映させることは可能でしょうか。 説明が分かりにくくて大変申し訳ございません。 データが大量にあるため、なるべく自動的に反映させたいです。 関数入力でこのようなことができるのか、ご存知の方宜しくお願い致します。

  • エクセル関数

    次のようにセルに日付と対応する数値があるときに | 2003/4/1 | 2003/8/1 | 2004/3/1 | |****a****|****b*****|****c****| 2003/4/1から2003/10/1に値する期間の数値の合計 "(a+b)" を出すにはどのような関数を使えばいいのでしょうか。 お願いします。

  • Excelで一定の数値の場合だけセルを非表示にしたい

    Windows98でExcel2000を使っています。 Exceelで勤務集計表を作成し 毎月同じ形式で使っていこうと思っています。 「12/1」という風に日付が横に並んでいて 下段に曜日が並んでいます。 日付と曜日は、報告日を入力すると それぞれ表示されるようになっています。 (関数を使用) また、日曜日は色がつくようにしています。 (条件書式1つ使用) そこで、最後の31日がある月とない月がありますよね。 その場合、翌月の1日が表示されるのですが、 それを非表示にしたいのです。 列自体はあったほうがいいのですが(印刷の為) 日付と曜日のセルだけ空白にしたいのです。 出来れば、マクロの使用は避けたいのですが 仕方ないですかね・・・(泣) どうすればいいでしょうか? 宜しくお願いします。

  • エクセル:月や週ごとの集計

    エクセルで A列に日付、B列に曜日、C列に商品の数量があります(2年分が連続で入力されています) このシートで曜日ごとの集計(例えば9月4日から9月9日までの合計)や 7月だけの合計を出す為の関数か機能はありますか WIN xp エクセル2003

  • エクセル 週ごとの日数が出したい。

    月曜から日曜までを1週とする場合の 週毎の日数が知りたいです。 C2 =DATE(2014,3,1) B6 =$A$2+1 C5 =TEXT(B5,"aaa") よろしくお願いします。

  • エクセル関数の戻り値によりコピーができますか

       A   B  C 1  年  月  日 2  2011  9   17 3 4  日付 2011/9/17 5  曜日   土 B4は”=DATE(A2,B2,C2)”の関数を使います。 B5は”=TEXT(WEEKDAY(B4,1),"aaa")”の関数を使います。 一方曜日による7種類のシートがあります。シート名は"日""月""火""水""木""金" "土"です。B5の結果を判断して、曜日毎にA7に各シートの内容をコピーしたいの ですが、マクロを使わない関数だけでの方法はありますか? 各曜日のシートの内容は1セルだけでなく広い範囲なので全てA7を起点にコピー したいのです。宜しくお願いします。

専門家に質問してみよう