EXCELで特定範囲の最大値を表示する方法

このQ&Aのポイント
  • EXCELで特定範囲の最大値のみを表示する方法について悩んでいます。
  • 毎週日曜に集金する金額を入力し、自動で日ごとの合計値と月ごとの合計値が出るようにしたいです。
  • 行2の日付が月の最終日曜日の列にのみ合計を表示する方法を教えてください。
回答を見る
  • ベストアンサー

EXCELで特定範囲の最大値のみを表示

EXCELで、どのような関数を使えばスマートに表示できるか、悩んでいます。 毎週日曜に集金する金額を入力し、自動で日ごとの合計値と月ごとの合計値が出るようにしたいです。 行2:日曜日の日付が入っている(2013/1/6,2013/1/13,・・・)。表示形式は"m" 行3:日曜日の日付が入っている(2013/1/6,2013/1/13,・・・)。表示形式は"d" 行4~行49:実データ、金額が入っている 行50:各列の行4~行49の合計値(sum関数) で、行51に、各月ごとの合計を表示したいのです。ただし表示するのは、行2の日付がその月の最終日曜日の列だけ。他の列は何も表示しないようにしたいです。 お知恵をお借りできれば幸いです。

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

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

No.3です! たびたびごめんなさい。 前回書き忘れたのですが、50行目が各列の合計となっているのであれば A51セルを =IF(MONTH(A2)=MONTH(B2),"",SUMPRODUCT((MONTH($A2:A2)=MONTH(A2))*($A50:A50))) という数式にしてオートフィルで列方向にコピー! で大丈夫だと思います。 ※ SUMPRODUCT関数はデータ量が多くなった場合、PCにかなりの負担をかけますので、 50行目に SUM関数が入っているのであればこちらの方をオススメします。 何度も失礼しました。m(_ _)m

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 回答No.2です。  考えてみました処、 >表示するのは、行2の日付がその月の最終日曜日の列 というよりも、入力されている日付の中で最も月末に近い日付の列に、 >月ごとの合計値が出るようにしたい という事だと思いました。  もし、そうだとしますと、A51セルに入力する関数を、次の様な関数としますと、日曜日以外の日付が入力されている場合においても、「入力されている日付の中で、その月の最終日」の列に、月ごとの合計値が表示されます。(例え日付が順不同に入力されている場合でも、月末に最も近い日付の列に表示されます) =IF(ISNUMBER(1/DAY(A$3)),IF(A$3=SMALL($3:$3,COUNTIF($3:$3,"<"&DATE(YEAR(A$3),MONTH(A$3)+1,1))),SUMIF($3:$3,"<"&DATE(YEAR(A$3),MONTH(A$3)+1,1),$50:$50)-SUMIF($3:$3,"<"&DATE(YEAR(A$3),MONTH(A$3),1),$50:$50),""),"")

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

A列から1年分の日付が入力されているなら、A51セルに以下の式を入力して右方向にオートフィルすればご希望の表示ができます。 =IF(MONTH(A2)=MONTH(B2),"",SUMPRODUCT((MONTH($A$2:$AZ$2)=MONTH(A2))*$A$50:$AZ$50))

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

こんばんは! 一例です。 A51セルに =IF(MONTH(A2)=MONTH(B2),"",SUMPRODUCT((MONTH($A2:A2)=MONTH(A2))*($A4:A49))) という数式を入れ列方向にオートフィルでコピーではどうでしょうか? SUMPRODUCT関数内で 「$」マークの有無に注意してください。m(_ _)m

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

>行3:日曜日の日付が入っている(2013/1/6,2013/1/13,・・・)。 >行50:各列の行4~行49の合計値(sum関数) となっているのでしたら、次の様な方法となります。  まず、A51セルに次の関数を入力して下さい。   =IF(ISNUMBER(1/DAY(A$3)),IF(A$3=DATE(YEAR(A$3),MONTH(A$3)+1,1)-WEEKDAY(DATE(YEAR(A$3),MONTH(A$3)+1,1),2),SUMIF($3:$3,"<"&DATE(YEAR(A$3),MONTH(A$3)+1,1),$50:$50)-SUMIF($3:$3,"<"&DATE(YEAR(A$3),MONTH(A$3),1),$50:$50),""),"")  そして、A51セルをコピーして、51行目においてA51よりも右側にあるセルに貼り付けて下さい。  以上です。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

データがB列からスタート、A1セルが空欄が条件ですが =IF(MONTH(F1)=MONTH(E1),"",SUM(OFFSET(E50,0,0,1,-4-(MONTH(A1)=MONTH(E1))))) E51セルに上記式を貼付け、横方向へコピー 1ヶ月に日曜は最低4回、最大5回あります 1月の第3週まで(D51セル)までは無条件で空欄なので、計算が必要なのはE51以降

関連するQ&A

  • エクセル 異なる範囲の集計(合計)

    誰かアドバイスをお願いします。 エクセルで下記の様な異なる行数(範囲)を自動集計させたい場合はどうすればよろしいでしょうか?       A      B      C     D        E      日付    注文NO  金額   注文金額計  日別注文金額合計 1   5月1日     1     50     150       250 2                  50       3                  50                4             2    50     100 5                  50                    6   5月2日     3     50     50        150 7             4     50    100 8                   50                                            やりたい事は、D列へ注文金額計に注文NO別の合計金額を集計させる事(注文NOごとの一番上の行のみです。)  と E列へ日別の注文金額合計を集計させる事です。(日別の一番上の行のみに表示)   sumif関数を使えばうまく行きそうなのですが、問題が2つあります。 (1)集計条件の日付や注文NOは、重複している場合は、一行のみ表示の仕様です。(他ファイルからデータを貼りける為、その様な仕様になり、極力入力する事は避けたいです。) (2)合計範囲の行数が一定ではないので出来ればEやD列の全てのセルに関数なりを設置し、一番最上行のみに結果を表字したい。例えばsumif関数をE,D列全ての行に設定してしまうと同じ集計結果が何行にも渡って表示されてしまうのは避けたい。(上の例でいえばE列に150が何行も表示されてしまう。 かといって重複行の最上行のみに関数を設定するのは、一行ずつの作業になってしまう為、避けたい。 何かいい方法がないでしょうか?   個人的には、関数の方がやりやすいのでいいのですが、マクロやVBEでもあれば教えて頂けますでしょうか?

  • Excelで特定の日付範囲のデータの合計を出すには

    初めて質問させていただきます。 さまざまなホームページ、掲示板などを巡ってみたのですが解決できなかったため お力を貸していただけたらと思います。 1シート目がこのようなデータ表になっているとします。  A    B     C   111 2011/4/30 2,000 125 2011/4/15 3,000 143 2011/4/30 2,000 166 2011/5/31 5,000 178 2011/5/29 3,000 このデータを使用して、2シート目には、各月の合計金額を表示したいのです。 2011年4月 7,000 2011年5月 8,000 こんな感じです。ちなみに、1シート目のB列の日付は一定でないため1日だけを指定することが できません。 そこで、以下のような関数を考えてみました。 =SUMIF(1シート目!$B$1:$B$1000,IF(TEXT(1シート目!B1,"yyyym")="20114",),1シート目!$C$4:$C$1000) 日付を月までに省略し、それで判断させるというものです(言い回しが下手ですみません)。 ちなみになぜ1000行目まで指定しているかというと、今後もデータは増えていくためです。 現在ここまで式を作り上げたものの、「0」が返ってきます・・・ どこが間違っているのか、もしくはもっといい式があるようでしたら 教えていただけたら幸いです。 よろしくおねがいいたします。

  • EXCELでの条件付き合計

    EXCELで以下のような表を作成しました。 ・日付の行数はランダムです。 (無い日付もあれば複数行ある日付もあります) ・日付の列,金額の列にはそれぞれ”日付”,”金額”と名前をつけています。 ある日付からある日付までの金額の合計を計算したいと考えています。 SUMIF関数を使用すればできそうだということはわかるのですが, 日付の条件をどのように入力すればいいのかがよくわかりません。 どのように入力すればいいのでしょうか? 日付     金額 12月1日    123     12月15日    962    12月31日     56

  • エクセル 重複のカウント 一部一致

    エクセルで下記にようになっています。 文字列の1部を一致させて、重複数のカウントと、 文字列の1部を一致させて、足した合計を出したいのですが・・。 どのように関数を書いたらよいのでしょうか・・。 A列に日付と、時間など、B列に、金額が入っています。 A列(日付・時間) B列(金額) 1月1日●●● | 2000 1月1日★★★ | 1500 1月2日●●● | 3000 1月3日●●● | 1000 1月3日■■■ | 2000 1月3日★★★ | 2000 下記の合計を出したいのです。 C列に、1日ごとの、合計件数 D列に、合計の金額 C行(1日の件数)  D行(1日の金額) 1月1日 ●件  |合計 ●円 1月2日 ●件  |合計 ●円 1月3日 ●件  |合計 ●円

  • エクセルで可視セルのみ計算させたい

    例えば、A列にある種別、B列に金額が入っている時、 B列の一番下にSUM関数を入れて、金額の合計を表示して いるのですが、A列をオートフィルタを使って、 特定の種別の金額が入った行が表示されているとき、 その種別のみの合計が表示される様にするには どうしたら、よいのでしょうか? どなたかお教えくだされば幸いです。

  • Excelの式について質問です。

    Excelで勤怠管理表を作っているのですが、    A B C D…AE 1   1 2 3 4…31 (←日付) 2 3 -----中略------ 76  2 6 2 4…8 (←その日ごとの予定勤務時間合計) 77  3 8 4 5…5 (←その日ごとの実際勤務時間合計) 1列には「2008/10/01」といった形式で日付が入力されています。 TODAY関数を利用して、 たとえば今日が3日の場合、76列の合計が10(2+6+2)に、 今日が4日の場合は、14(2+6+2+4)になるような式を作りたいのですが、 いい方法はありますでしょうか。 ※必要かはわかりませんが、念のため作成中のExcelの詳細を書いておきます。 2列目には曜日が入っています。 3~5列目は予備の空欄です。 6~74列目の偶数行には各スタッフの予定勤務時間、 7~75列目の奇数行には各スタッフの実際勤務時間が入力されており、 76列目は「=SUM(IF(MOD(ROW(A6:A75)+1,2)=1,A6:A75))」で偶数行の合計を、 77列目は「=SUM(IF(MOD(ROW(A6:A75),2)=1,A6:A75))」で奇数行の行の合計を出しています。

  • Excelの関数を教えてください

    初めまして。よろしくお願いします。 関数を使って、以下のようなデータを作成することができれば、 その関数を教えてください。 Sheet1には次のように入力されています   A       B 1 日付      金額 2 2010/1/1 500 3 2010/2/5  300 4 2010/1/23 10000 5 2010/2/1  200 ・ ・ ・ A列に日付、B列に金額が入力されていて、行は決まっていません。 これをSheet2に集計したいのですが、B2~B13に関数を使ってできますか? Sheet2   A     B 1 月    金額 2 1月 3 2月 4 3月 ・ ・ ・ 13 12月 14 合計 Excelがわからなくてこまっています。詳しい方、ぜひ教えてください。 よろしくお願いします。

  • EXCEL VLOOKUPでできませんか?

    はじめて質問をするのでわかりづらかったらすみません。     A   B   C   D  (列) 1.     名前  ●● 2.  5月3日 150 3.  5月8日 200 4. 5.   合計 350 6  7.     名前  ×× 8.  5月2日 200 9.   合計 200 10.(上記と同じように50名ほど以下続く) 11.    (行)  上記のようなエクセルの表(フォームは定形で変更できず) で NAMEの横の個人名と合計の横にある数字(金額)を抜き出したいです。フォームとしては下記のようにするためには何か抽出するのに良い関数はありませんか? 名前 合計(万円) ●● 350  ×× 200  △△ 300 個人名はC列、合計金額はB列できまっています。何行がきまっていません。 行に記載されている日付は、3日出勤の人もいれば5日出勤の人もいますので何行目という指定はできません。「名前の次にくる合計の隣のセルを抽出する」という関数がくめればいいのかと思うのですが、頭が固くうまくできません。もっとシンプルにできそうなきもしますし。 これを週次でやっていきたいので、固定の関数を入れたいのですが、 うまく思いかびません。何かあればお知らせいただければ幸いです。

  • エクセルで集計

    エクセルでの合計について教えていただきたいのです。 A1~A10000まで日付が、B1~B10000まで数値が入力されています。 B列の数値を50行ごとに合計し、C列に表示する方法。 現在は、sum関数で手作業です。 簡単に表示できる方法を教えてください。 また、C列に合計のある行をD列(D1・D2・D3・・・)、E列(E1・E2・E3・・・)、F列(F1・F2・F3・・・)に並べたいのです。(50行ごとに間引いて表示するような感じです) 現在は、=C50・=C100・=C150のように手作業です。 もっと多量のデータが入力されたシートもあります。また、100行ごと150行ごとなど合計行が違う場合もあります。 エクセル初心者です。 よろしくお願いいたします。

  • エクセルで小計を出したいのですが

    エクセルに関しての質問です。 A列には日付、B列には金額が入ります。 A列の日付は単独で表示される事もあり、また同じ日付が複数行に渡って表示される事もあります。 B列の金額は、それぞれの日付に対し違った金額が1つずつ入ります。 そこで、同じ日付の金額小計を同日付の最終行C列に表示したいのですが、どうしたら良いでしょうか? できればエクセルに入っている関数だけで解決したいのですが、できないでしょうか? または簡単なコードの記述で解決できないでしょうか? 宜しくお願いします。

専門家に質問してみよう