エクセル指定日付の数値を別シートに反映させる方法

このQ&Aのポイント
  • エクセルで指定した期間の数値を別シートに反映させる方法について教えてください。
  • 数式を使って特定の範囲の日付と数値を関連付ける方法について教えてください。
  • エクセルの特定の範囲で色の変わる数値部分の合計を別のシートに表示する方法について教えてください。
回答を見る
  • ベストアンサー

エクセル指定日付の数値を別シートに反映させる方法

先ほど別の質問を立てましたが、わかりにくかったので、再度掲載させていただきます。 数式をつくっておいて、ある箇所にデータを貼り付けたら、別シートに指定した期間の 数値が反映できるような数式を作りたいと考えています。 A1に「10/1」  (スタート) B1に「11/2」  (エンド) と入力がしてあり、 F12~120に10/1からランダムに10月の日付 G12~120に11/1からランダムに11月の日付 N12~120に数値が入っています。 A12~120には=「F12~120」という数式を B12~120には=「G12~120」という数式を C12~120には=「N12~120」という数式を いれて、反映をさせています。 普段触るところはF12~120・G12~120・N12~120の3つで データを毎回貼り付けています。 A1・B1に入れている数値と一致をしていれば色が変わるように書式設定をしています。 この2~120の中で対象となる色の変わる場所の数値部分(C12~120)の合計の数値を 別のシート「集計」のD1に反映をさせたいです。 そのようなことはできますでしょうか。 説明が下手で申し訳ありませんが どなたかご回答をよろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

こんばんは。 A列(=F列)とB列(=G列)に「ランダムに日付が入っている」のだけど、その中からたまたま「A1~B1」にぴったりマッチした行だけ合計したいと言いたかったのでしょうか。 それとも?A列はA列で色が付いてればOK、B列はB列で別の行に色が付いてても、とにかく色が付いた行は全部拾いたいと言いたかったのでしょうか。 とりあえず =SUMPRODUCT((A12:A120=A1)*(B12:B120=B1),C12:C120) と記入しておくだけで、計算できます。 一つも色が付く行が無ければ、当然ゼロが計算されます。 またご利用のエクセルのバージョンも不明のご相談ですが、エクセル2007以降を使っているならもっと簡単に =SUMIFS(C12:C120,A12:A120,A1,B12:B120,B1) と列記するだけで、さくっと計算できます。 #ご相談投稿では、ご利用のソフト名はもとより普段あなたが使うソフトのバージョンまで、きちんと明記する事を憶えて下さい。 >説明が下手で 丁寧に、具体的なデータのサンプルを挙げて「この例だとこういう理由でこういう計算結果が欲しいんです」と説明してみると、不自由な言葉で一生懸命説明するよりもはるかに判りやすくなりますよ。たとえば「間違ってました」と気持ちだけ伝えても、「だからどうだったんですか?」何一つ正しい情報がありません。

ASNASNASN
質問者

お礼

ご回答ありがとうございます。 説明不足で失礼いたしました。 エクセルは2003を使用しております。 教えていただいた =SUMPRODUCT((A12:A120=A1)*(B12:B120=B1),C12:C120) を入力をしてみましたが、0が表示されてしまいました・・・。 A1には10/1 B1には10/10 と入力をしてあります。 A12に10/1  B12に10/9  C12に1 A13に10/2  B13に10/9  C13に2 A14に10/3  B14に10/10  C14に3 A15に10/6  B15に10/10  C15に3 A16に10/2  B16に10/11  C16に3 とあります。 A12~16の条件付書式で A1の日付より後のものは 「セルの値が」「次の値の間」「=$A$1」と=「$B$1」 黄色で塗りつぶしをする。 というようにしてあります。 この色が変わったところのC12~16 の数値が拾いたいです。 できますでしょうか? よろしくお願いいたします。

その他の回答 (2)

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

No.1です! おそらく前回は大きな勘違いをしていました。 A列およびB列の日付データがA1~B1の期間内であればC列を合計する すなわち、A列・B列単独での日付だと思っていました。 A列・B列の日付はA列日付~B列日付の期間という意味ですかね? すなわち、A列日付がA1セル以降なおかつB列日付がB1セル以前のデータを集計! という条件だとすれば・・・ =IF(COUNTBLANK(Sheet1!A1:B1),"",SUMPRODUCT((Sheet1!A12:A120>=Sheet1!A1)*(Sheet1!B12:B120<=Sheet1!B1),Sheet1!C12:C120)) という数式にしてみてください。 ※ 今回も外していたらごめんなさいね!m(_ _)m

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

こんばんは! 結局、A~C列にはF・G・N列と同じデータが表示されていて、 「色が変わる」という条件はA1~B1の日付範囲のデータ という意味だとして・・・ 一例です。 元データがSheet1にあるとします。 「集計」SheetのD1セルに =IF(COUNTBLANK(Sheet1!A1:B1),"",SUMPRODUCT((Sheet1!F12:F120>=Sheet1!A1)*(Sheet1!F12:F120<=Sheet1!B1),Sheet1!N12:N120)+SUMPRODUCT((Sheet1!G12:G120>=Sheet1!A1)*(Sheet1!G12:G120<=Sheet1!B1),Sheet1!N12:N120)) という感じではどうでしょうか? 外していたらごめんなさいね。m(_ _)m

ASNASNASN
質問者

お礼

補足で誤って書いてしまいました。 失礼しました。

ASNASNASN
質問者

補足

ご回答ありがとうございます。 試してみましたが、数式にエラーはでませんでしたが、数値が違う値でした・・・>< おっしゃるとおり、A~C列はFGNデータと同じものが反映しております。 色が変わるのは条件A1~B1データで間違いありません・・・。 桁が1桁違っておりました・・・。 したがってまったく見当違いの値が反映されてしまっているようです・・・。 せっかく回答いただきましたのに、もうしわけありません><

関連するQ&A

  • エクセルのシートの反映について質問します。

    たとえば、下のような(シート1)の表を元に、別のシート(シート2)(シート3)へ自動で、反映させることは可能でしょうか? また”=”を使わずに(シート1)の元データを、全く同じ表として、別のブックへ反映させ 元のデータを変える事によって、すべてのシート、指定されたブックが自動で変わるような、方法はあるのでしょうか。 こういった場合、良い知恵がありましたらよろしくお願い致します。 m(_ _)m (シート1)       A     B    C 1  コードNo  日付   名 2    1     10/1   aaaaaa 3    2     10/2  bbbbbb 4    1     10/3   cccccc 5    2     10/4   ddddddd (シート2)       A     B    C 1  コードNo  日付   名 2    1     10/1   aaaaaa 3    1     10/3   cccccc (シート3)       A     B    C 1  コードNo  日付   名 2    2     10/2  bbbbbb 3    2     10/4   ddddddd

  • エクセル 別シートの祝日データを使いたいのですが

    シート1で条件付き書式で祝日の色を変えるときに、数式にcountifを使い、あらかじめシート2に名前定義してある祝日データの書かれたセルを用いて=countif(祝日,$A1)としてるんですが、シート1には反映されません。 シート2の日付は色が変わりますので間違ってはいません。 これではなんのための名前定義なのか意味がわかりません。 どうしたら別シートにも反映されますか?

  • カレンダー作成 別シートよりデータ反映

    目的は仕事で何日に誰が休むむかを一目で知りたくてエクセルで作成したカレンダーを作りました(縦型日付表示) 現在は届けの用紙が来たらカレンダーに手打ちしてます。 (シート1) 種類は名前に色分けをしたかったので種類を入れてます。       (上手く作成できたら種類によって名前に色わけとかしたくて種類を作りました)        横に名前が出るようにしてます。同じ日に休みの人が増えれば HIJKと横に続きます。   A      B    C      D     E      F     G 1 日付   曜日  名前   種類  名前   種類 2 1日         桃    有給  (みかん)   (休み) 3 2日 4 3日 以下日にちは月末まであります。 別のシート(シート2)で作成したデータを反映させたいのですが同じ日付でデータがある場合 どうすれば反映されるのでしょうか?ためしにD3にカウント式(=COUNTIF($A$3:$A3,$A3))を入れて 順番をつけてみました。   A      B    C      D 1 日付  名前  種類  カウント 2 5/1  桃    有給   1 3 5/3  奈々   半日   1 4 5/1  みかん 休み   2 以下休み届けなどが出されたら随時追加します。 わからないなりにネットで見て数式を入れてみました。 シート1のC2に =IF(ISERROR(VLOOKUP(A2,シート2!$A:$C,2,0)),"",VLOOKUP(A2,シート2!$A:$C,2,0)) C3に =IF(ISERROR(VLOOKUP(A2,休み!$A:$D,3,0)),"",VLOOKUP(A2,休み!$A:$D,3,0)) 入力すると始めの 5/1 桃 有給はカレンダーにあがるのですが5/1 みかん 休みを出せません あまりエクセルなどに詳しくなく、他の数式なども活用できるのかこういう表がそもそもエクセルでできるのかも勉強不足でわかりません。なんだかマネて作成したらあまりに長くて引数が足りませんみたいな表示がでました。 お手数をおかけしますが、教えていただけたら嬉しいです。よろしくお願い致します。

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

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

  • Excelでの別シート集計について

    Excelで月別、項目別で時間を集計するシートを作成しようとしています。 シート2ではシート1 F列コード別に集計してD列の時間データを月別に合計 シート3ではシート1 F列コードとG列コード別(Fが1001でGが1001、、、)に集計してD列時間データを合計、という表データにして抽出したいと考えています。 シート1には K欄に年月を表示  =IF(OR(A7="",B7="",C7=""),DATE(2100,12,31),DATE(A7+2000,B7,C7)) L列にF列コード+年月  =F7&(2000+A7)&B7 M列にG列コード+年月  =G7&(2000+A7)&B7 というところまでは設定したのですが、出力先となるシート2、シート3にはどのような設定をすればよいのか行き詰っています。 なにとぞ易しい回答をよろしくお願い申し上げます。

  • エクセルの入力データーを別のシートの日付と氏名の交差点に記録していくマクロ

    エクセルのセルに入力したデーターを別のシートの名簿一覧に記録していくにはどのようなマクロを組めばよいでしょうか? 入力イメージとして、「田中 90 良」この項目は手動で入力するとします。 Sheet1 A   B  C  D  E  F  G 1 日付 氏名 成績 区分 2 9/19 田中 90  優 ここでマクロを実行すると別のシートに Sheet2 A   B  C  D   E   F  G 1       1組       2組 2    田中 佐藤 小林 近藤 三浦 遠藤 3 9/19 90  と記録され、次に入力し、 Sheet1 A   B  C  D  E  F  G 1 日付 氏名 成績 区分 2 9/21 小林 80  良 さらにマクロを実行すると Sheet2 A   B  C  D   E   F  G 1       1組       2組  2    田中 佐藤 小林 近藤 三浦 遠藤 3 9/19 90  4 9/21        80 このように記録され、さらに Sheet1 A   B  C  D  E  F  G 1 日付 氏名 成績 区分 2 9/23 佐藤 95  優 と入力して、さらにマクロを実行すると Sheet2 A   B  C  D   E   F  G 1       1組       2組 2    田中 佐藤 小林 近藤 三浦 遠藤 3 9/19 90  4 9/21        80 5 9/23    95 という具合に、氏名と日付が交差するセルにデーターを記録していきたいのですが、 可能でしょうか? どうかお返事よろしくお願いいたします。

  • エクセルの操作 sheet1の数値→sheet2へ

    sheet1の数値、例えばセルA1に入っている数値を別のsheetのセルへ反映させるという操作がありますよね。 この操作なのですが、sheet1のセルA1の値をsheet2も同じセルA1へならばちゃんと反映されるのですが、sheet1のセルA1からsheet2のB1へ とすると#VALUE!となってしまうんです。 何か解決方法ありますか?

  • エクセルのシート1にある文字や数値をシート2の指定した場所へ飛ばす事が

    エクセルのシート1にある文字や数値をシート2の指定した場所へ飛ばす事が出来ますでしょうか? 出来るようであれば、ぜひご教授ください。 シート1のA列にNo.、B列に東京23区名、C列に数値A、D列に数値B、E列に数値C、F列に計、最後の行に合計のリストがあります。 例えば、シート1のリストの文京に数値Aが11、数値Bが12、数値Cが13。新宿に数値Aが14、数値Cが15。杉並に数値Bが16。練馬に数値Bが17、数値Cが18と入力された時、シート2の指定の場所、ABC1にNo.の2、ABC2に文京、A3に数値Aの11、B3に数値Bの12、C3に数値Cの13、ABC4に合計の36。DEF1にNo.の4、DEF2に新宿、D3に数値Aの14、F3に数値Cの15、DEF4に合計の29。ABC6にNo.の5、ABC7に杉並、B8に数値Bの16、ABC9に合計の16。DEF6にNo.の7、DEF7に練馬、E8に数値Bの17、F8に数値Cの18、DEF9に合計の35。 このような、文字と数値をシート2へ出力する事が出来ますでしょうか? ようするに、シート1のリストに数値を入れたら、シート2へ自動的にNo.・文字・数値などが表示される。 説明が下手ですみません。 文字での説明は難しいですね。少しでもわかりやすく表にしてみました。 シート1    A   B      C      D      E      F 1  No.  区名   数値A   数値B   数値C    計 2  1   千代田    3  2   文京    11     12      13     36 4  3   中野 5  4   新宿    14             15     29 5  5   杉並          16             16 6  6   世田谷 8  7   練馬          17      18      35 9  8   台東 10  9   荒川 11  合  計     25     45      46     116 シート2    A    B     C     D     E     F 1       2                 4 2       文京              新宿 3  11    12    13     14          15 4       36                29 5 6       5                 7 7       杉並              練馬 8       16                17     18 9       16                35 10 今月はこのようになったり、来月は他の区になったりします。 おわかりになりますでしょうか? 出来ましたら、具体的にわかりやすくご教授をお願い致します。 それでは、宜しくお願い致します。

  • エクセルでSheet1の特定の列をSheet2に反映させたい

    エクセルの質問です。初心者です。 Sheet1ではA B C D E F列を使っています。 Sheet2にA B C列を反映させ、Sheet2の他の列にはSheet1とは別の情報を入れたいです。 変更するときはSheet1を変更するとして、Sheet1で行を増やしてもSheet2に勝手に反映する方法はありますか?

  • エクセルで入力した物を指定した別のシートのセルに反映したい

    以前↓で質問した者です。 http://okwave.jp/qa4771245.html 回答を頂いたのですが、質問に言葉が足りずに申し訳ございません。 やりたい事は例えば、 Sheet1のセルA1に「1333」と入力、セルB1に「交換」と入力したらSheet1333のセルC1に「交換」と反映。 Sheet1のセルA2に「1233」と入力、セルB2に「補修」と入力したらSheet1233のセルC1に「補修」と反映。 その後は Sheet1のセルA3に「1333」と入力、セルB3に「故障」と入力したらSheet1333のセルC2に「故障」と反映。みたいに同じSheetに反映させると以前に反映したデータの下のセル(もしくは横)にどんどん反映していける方法はあるのでしょうか? わかりにくい説明かもしれませんが、どうかお願いします。

専門家に質問してみよう