• ベストアンサー

Excelの関数について教えてください。

いつもありがとうございます。 Excelの関数について質問します。 日付の入った表があります。 毎日データを入力します。 次に別のシートで毎月のデータを管理したいんです。 毎月1日のデータを毎月のデータのシートに移したいんです。 日付だけならDAY関数で取り出せるんですが・・・ ご指導の程、よろしくお願い致します。

noname#18837
noname#18837

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

  • ベストアンサー
noname#29107
noname#29107
回答No.7

#4,6です。 失礼しました。訂正です。 >もしSheet2のA2に日付、例えば2004/5/1を入力するのだとしたら、 >B2セルには、 >=SUMPRODUCT((MONTH(Sheet1!$A$2:$A$300)=MONTH(A2))* >(DAY(Sheet1!$A$2:$A$300)=1)*(Sheet1!B$2:B$300)) >でうまくいくんじゃないかと思います。 >うまくいったらH列まで右にコピー。 関数式の部分を、 B2セルには、 =SUMPRODUCT((MONTH(Sheet1!$A$2:$A$300)=MONTH($A2))* (DAY(Sheet1!$A$2:$A$300)=1)*(Sheet1!B$2:B$300)) に訂正。(右にコピーする場合、絶対参照にしなければいけないため)

noname#18837
質問者

お礼

ありがとうございます。 いまから仕事で出かけまして、夜中までPCは開かないので時間がないので明日また試します。 ご丁寧にありがとうございます。

その他の回答 (6)

noname#29107
noname#29107
回答No.6

#4です。 >こちらの関数を入れてみましたが0になりました。 Sheet2のA2には何が入力されていますか?日付で入力していませんか?結果だけでなく、実際にどのように入力したかが、重要なんですが・・・ もしSheet2のA2に日付、例えば2004/5/1を入力するのだとしたら、 B2セルには、 =SUMPRODUCT((MONTH(Sheet1!$A$2:$A$300)=MONTH(A2))* (DAY(Sheet1!$A$2:$A$300)=1)*(Sheet1!B$2:B$300)) でうまくいくんじゃないかと思います。 うまくいったらH列まで右にコピー。 A3セルには =DATE(YEAR(A2),MONTH(A2)+1,1) と入力して下にコピー。 注意として、データを抽出するのに年を考慮していないので、Sheet1に複数年度入力するなら、年の考慮が必要です。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

(例データ)Sheet1のA1:C11に、 (明確でなく多分に想像してます) (A列) (B列)  (C列) (D列) 日付 項目1 項目2 ワーク列 2004/4/1 a x 1 2004/4/2 b y 2004/4/3 c z 2004/5/2 d u 2004/6/1 e v 2 2004/6/2 f s 2004/6/3 g t 2004/7/1 h w 3 2004/7/2 I q 2004/7/3 j e D列は初めはなにも入ってません。 (関数式) 使わない列を1列ワークに使う。例えばD列として、D2に =IF(DAY(A2)=1,COUNT($D$1:D1)+1, "") といれ、下に複写する。上記D列のようになる。 (関数式) Sheet2にいって A2に=OFFSET(Sheet1!$A$2,MATCH(ROW(A2)-1,Sheet1!$D$1:$D$20,0)-2,0) といれる。 B2に=OFFSET(Sheet1!$A$2,MATCH(ROW(B2)-1,Sheet1!$D$1:$D$20,0)-2,1) C2に=OFFSET(Sheet1!$A$2,MATCH(ROW(C2)-1,Sheet1!$D$1:$D$20,0)-2,2) を入れる。最後の引数だけが0->1->2と変っただけ。$D$20は適当に最下行予定を入れること。 A2;C2を範囲指定し、C2で+ハンドルを出して、下へ引っ張る。C4まで3件分引っ張る。 Sheet2で、前もって多数行に式を入れておくと#N/Aが出ますが、防止策はISERRORを使うことだが、式が長くなるので略。 (結果) 日付 項目1 項目2 2004/4/1 a x 2004/6/1 e v 2004/7/1 h w となります。 A列は、書式を日付にしておくこと。

noname#29107
noname#29107
回答No.4

もっと具体的にデータの入力のされ方、どのように結果を得たいのかを記入してもらわないと答えにくいです。 データは数値だけでしょうか?とりあえず数値だけと仮定します。 Sheet1のA2:A300に日付が入力されているとします。 Sheet1のB2:B300に数値が入力されているとします。 Sheet2のA2に対象の月、例えば5が入力されているとします。 Sheet2のB2にデータを抽出するとします。 B2: =SUMPRODUCT((MONTH(Sheet1!$A$2:$A$300)=A2)* (DAY(Sheet1!$A$2:$A$300)=1)*(Sheet1!B$2:B$300))

noname#18837
質問者

お礼

回答、ありがとうございます。 説明不足ですみません。 下記、解答欄に補足を記入しました。 よろしければご覧頂ければ幸いです。 こちらの関数を入れてみましたが0になりました。

  • 134
  • ベストアンサー率27% (162/600)
回答No.3

 HAL007さんの回答で不十分で、自動化したいということであれば、マクロを組むのが最適かと思います。  オートシェイプなどの図形にマクロを登録しておけば、その図形をクリックしただけで、データのコピーが可能かと思います。  ただし、具体的なシートの構成が不明ですので、具体的なVBAプログラムは、提示不能ですけど。

noname#18837
質問者

補足

回答ありがとうございます。 説明不足ですみません。 株価チャートを作っています。 Sheet1には毎日のデータ。 Sheet2には月ごとのデータを記入します。 A列   B列~H列 日付  値段(データ)  が入っています。 Sheet1・Sheet2と共に同じデータです。 違いは、Sheet1は毎日のデータ。 Sheet2は毎月1日のデータのみ記入する、ということです。 この1日のデータを取り出したいのです。 文才がなく、伝わりにくいと思います。 すみませんが、よろしくお願いします。

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.2

月データのシートの該当セルで=を入れて日データの シートをクリックして参照するセルをクリックすれば =日データ!A1 と言った具合の式が入ります。これでセルのリンクが終りです。

noname#18837
質問者

補足

回答ありがとうございます。 この方法は私も考えたんです。 ただ、全て自動で取り出したいんです。 わがままですみません。

  • mayyasio
  • ベストアンサー率43% (39/90)
回答No.1

毎日データシート1の1日セルと毎月データシート2の1日セルの関連を「名前BOX」で指定出来ませんか。

noname#18837
質問者

補足

回答ありがとうございます。 出来ましたら詳しく教えて頂けませんか? こちらの方法は自動で可能なんでしょうか?

関連するQ&A

  • エクセル関数について教えてください

    エクセル関数についてご教授ください。 添付図のようなデータ入力シートがあり入力者は山田、太田、斉藤の3名が入力します。 今、山田さんが7/29日の数学の列の10:40-12:10行のセルに「伊藤」と入力し、太田さんが同日のEnglishの列の13:00-14:30行のセル に「伊藤」と入力し、さらに斉藤さんが同日の国語の列の14:40-16:10行のセルに「伊藤」と入力した場合にsheet2(シート名:伊藤)の表に図で示すようなデータを自動で入力させたいと考えています。 sheet1の日付は横に1週間分あります。同様にSheet2(伊藤)にも同じ日付で1週間分あります。 このようなことは可能でしょうか? エクセル関数初心者で非常に困っています。 どうかご指導いただきたいです。

  • エクセル VLOOP関数

    エクセル初心者です。 エクセル2003を練習中なのですが 今、下画像の上段のようなデータのシートを作成しました。 シートは左の日付を3行セル結合しています。 このシートのデータを、画像下段の表のように 関数で表引きしたいのです。 下段の表は、左の日付を2行セル結合しています。 関数(VLOOPUP関数とINDEX関数)の使い方が、今一つ分かりませんでした。 どんな数式を入力していけばいいのでしょうか。 お願いします。

  • エクセルの関数を教えてください

    エクセルで(シート1)に日付を縦に3か月分ぐらい並べて違うシート(シート2)のセルに日付を入力します。 (シート2)で入力した日を(シート1)の日付の横のセルに●を表示させる事は関数で可能ですか? 例えば、(シート2)に【7月20日】と入力したら(シート1)の【7月20日】の横のセルに●を表示させたいんです。 仕事の報告書で毎日報告書を出す訳ではないので報告書を作った日(日付を入力した日)を一覧表で●が表示されていれば一目でいつ報告書を書いたか分かるようにしたいんです。 分かる方よろしくお願いします。

  • エクセル関数 支出管理のやり方

    エクセルの関数について質問です。 支出に関する表を作成しているのですが 例えば シート1のA行に1か月分の日付を入れて、B行に預金額の流れを管理します。 シート2のA行に預金額、B行に個々の支払期限日、C行に残高を入れて管理をします。 支払期限日は毎月違うので、シート2のB行に入れた日付がシート1のA行の日付と同じ日付だった場合 シート1の同じ日付になる列に、シート2の同じ日付のC行の残高が自動入力されるようにしたいのですが いくら調べても、関数がわかりません。 分かる方が居たら教えてください。 お願いします。

  • 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がわからなくてこまっています。詳しい方、ぜひ教えてください。 よろしくお願いします。

  • エクセルの関数(IF関数?)について教えてください

    excelの関数についてわからず、困っています。 どのような関数を入れればよいのか、ご教授お願いいたします。   sheet1に下記のような表があり、 No 項目名 日付 1 りんご 11/1 2 バナナ  3 いちご  sheet2に No 項目名 日付 7 バナナ  8 りんご  9 パイン  という表があるとします。 sheet1に日付を入力した時に(りんごの右の11/1) sheet1の項目名と一致するsheet2の項目名の右のセルに同じ日付が入るようにさせたいです。 どのような関数を入れたらよいでしょうか。   よろしくお願いいたします。  

  • EXCELで関数だけの集計を行いたい。

    こんにちは。 エクセル(VER97以上)の関数のみを使用して(マクロを使わず) 以下のような集計を実現したいのですが可能でしょうか? シート1 A B 1 日付 内容 2 2001.11.27 データ1 3 2001.11.27 データ2 4 2001.11.27 データ3 5 2001.12.03 データ1 6 2001.12.03 データ2 7 2001.12.03 データ3 8 2001.12.15 データ1 9 2001.12.15 データ2 10 2001.12.15 データ3 11 2001.12.15 データ4 12 2001.12.15 データ5 13 2001.12.15 データ6 シート2 1 日付 件数 2 2001.11.27 3 3 2001.12.03 3 4 2001.12.15 6 5 総合計 12 (Tab区切りデータです) シート1に入力した日付データをシート2に日付でグループ化して データ件数を集計したいのですが関数で行おうとするとかなり難し そうですが、うまい関数を使えば出来そうな気もします。 実現可能でしょうか? よろしくお願いします。

  • エクセルの日付関数について教えてください。

    エクセルの日付関数について教えてください。 上司から、データの修正をかけたごとの表を提出するようにいわれています。 エクセルのToday関数ですと、ファイルを開いた日付に変更されてしまうので 困っています。 ファイルを開いただけでは変更されず、内容を更新したときだけ、その処理日が表示されるような 関数があれば教えてください。 ひとつのファイルに何枚かのシートがあるので できればシートごとにできればよいのですが 無理でしたら、別ファイルを作ります。 よろしくお願いします。

  • エクセルの関数について教えてください!

    どなたかエクセルの関数について教えてください。 職場で使う在庫管理表、納入表、使用表などの書式をエクセルで作りました。 納入表のファイルから、在庫管理票ファイルへデータを反映させたいのですが・・ ファイルからファイルへの反映は可能なのでしょうか?? 可能であればその関数と入力方法を教えて頂きたいです。 あと、在庫管理表に使用者、使用日欄があるのですが、そこに入力された場合、 担当者ごとに何をいつ使ったのか使用表に反映させたいのですが・・ その関数も教えて頂きたいです。 パソコンの用語などがわからず・・うまく伝わっているかわかりませんが よろしくお願いします。

  • エクセル関数で質問です

    こんにちは。いつもお世話になっております。 エクセルの関数で質問があります。 毎月の集計表を作っており、シート名が1~31、 ●月合計・●月合計2 とあります。 ●月合計のシートには日付が縦に入っており、 A4 ●月1日 A5 ●月2日・・・というように 続いております。 B4のセルには、 1のシートの数値、 B5のセルには  2のシートの数値・・・というように、 各シートのデータを参照したいと思っていますが、 下へオートフィルで数式をコピーして参照できるように するにはどうしたらいいでしょうか? ROW関数などを使ってみたのですが、どうもうまくいかず 困っています。 一列だけでなく、複数列あるため、手作業で一つ一つ 参照するのは、非常に困難なため、お知恵を拝借できれば幸いです。 よろしくお願いいたします。