• ベストアンサー

エクセルのデータを別のシートに

今日は。 シート(1)にある日付(1~31)の後の複数のデータをシート(2)に作ったカレンダーに反映したいのですが、その方法を教えていただけないでしょうか? 例えば、シート(1)のEの列(E2)に18を入れると、シート(2)に作ったカレンダーの18日のセルの中にE3~E5の複数の情報が反映されるという具合です。 よろしくお願い致します。 kyshtoo

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

  • ベストアンサー
回答No.4

正直あまりよくないですね、 カレンダーの日付は自動で変えなければ、日曜=1、月曜日=2と成りがちです カレンダーの日の自動変えは別の質問を立ててもらうとして、 参考図を基に、 Sheet2.B6に=IF(Sheet1!$E$2=B5,VLOOKUP(B5,Sheet1!$E$2:$H$2,2,0)&VLOOKUP(B5,Sheet1!$E$2:$H$2,3,0)&VLOOKUP(B5,Sheet1!$E$2:$H$2,4,0),"") Sheet2.B8に =IF(Sheet1!$E$2=B7,VLOOKUP(B7,Sheet1!$E$2:$H$2,2,0)&VLOOKUP(B7,Sheet1!$E$2:$H$2,3,0)&VLOOKUP(B7,Sheet1!$E$2:$H$2,4,0),"") Sheet2.B10に =IF(Sheet1!$E$2=B9,VLOOKUP(B9,Sheet1!$E$2:$H$2,2,0)&VLOOKUP(B9,Sheet1!$E$2:$H$2,3,0)&VLOOKUP(B9,Sheet1!$E$2:$H$2,4,0),"") 以下同じようにB11.B13.B15.と変えて貼り付け、各セルを右へフィルコピーします なお今回Sheet1の(F2~H2)3ヶ所呼び出しとしています、

kyshtoo
質問者

お礼

House-doctorさん、本当にありがとうございます。 素晴らしい! 教えられた通りに入力したら上手く行きました。 本当にありがとうございました!

kyshtoo
質問者

補足

House-doctorさん、今日は。 一つ解決するとまた疑問が出てきました。 それは月の問題です。 もしsheet2に今年4月から来年の3月までのカレンダーを作成したとします(もし月ごとにsheetを増やした方が良いならそちらの方法もお教えください)。sheet1のDの列に月の数字、Eの列に日にちを入れる場合、sheet2に作成した年間カレンダーに反映させるにはどうしたらよいのでしょうか? ご返答のほど、よろしくお願い致します。

その他の回答 (3)

回答No.3

同じような質問が某相談所にありましたので、転記します なお、>シート1に入れた横書きのデータをシート2のカレンダーに反映させて と有りましたので、E3~E5までではなく、(F2~G2)の場合です カレンダーの状態など不明なので、 Sheet2のB1が日付としてB1が1、B2が2として下方へコピー Sheet2のC1にSheet1の(F2~G2)を反映させるとして、 Sheet2のC1に=IF(Sheet1!E$2=B1,VLOOKUP(B1,Sheet1!$E$2:$G$2,2,0)&VLOOKUP(B1,Sheet1!$E$2:$G$2,3,0),"") 下方31日までフィルコピー なおこの場合Sheet2のC1セルにSheet1の(F2~G2)2セル分の内容が入る事になります また、反映させるセルが増える場合、&VLOOKUP(B1,Sheet1!$E$2:$G$2,4,0)の追加が必要になります なお縦型(E3~E5)の場合、HLOOKUPになります

kyshtoo
質問者

補足

今日は。返信、ありがとうございます。 >シート1に入れた横書きのデータをシート2のカレンダーに反映させて と有りましたので、E3~E5までではなく、(F2~G2)の場合です。 横書きだからF2~G2でしたね。本当に初歩的なミスでした。なにぶん、初心者なので。 >カレンダーの状態など不明なので< カレンダーの状態は日曜日から始まって土曜終わり、そして下方に折り返す いわゆる壁にかかっているカレンダーと同じ形式です。 その場合はどのような式になるのでしょうか? よろしくお願い致します。

回答No.2

>シート(2)に作ったカレンダーの18日のセルの中にE3~E5の複数の情報が反映されるという具合です この中のE3~E5と言うのは、シート1のE3~E5ですか?シート2のE3~E5ですか? 条件によってかなり違ってきますが、 それと、シート1の日の入力は、E2だけですか、他の2行目にも入るのですか、 これだけでは、回答するのは難しいですね、 それとちょっと気になったのが、もしかして、データの蓄積させたいのでしょうか? シート1E2に日付を入れE3~E5にデータを入れ、シート2のカレンダー内にデータを蓄積させ、 シート1E2に日付を入れ直して、別な日のデータをシート2のカレンダー内にデータを蓄積ようとしているのでしょうか? もしそれなら、マクロを使わなければ無理ですよ、 関数数式では、シート1E2に入れた日付を変えれば、シート2のカレンダー内のデータは消えてしまいます、

kyshtoo
質問者

補足

Q. この中のE3~E5と言うのは、シート1のE3~E5ですか?シート2のE3~E5ですか? 説明不足ですいません。ここで言っているE3~E5はシート1のデータです。 またデータの蓄積は考えていません。日付を変えた場合、シート2のカレンダー内のデータが消えてくれたの方が望ましいです。シート1に入れた横書きのデータをシート2のカレンダーに反映させて、一目で分かるようにしたいだけなのです。

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

>シート(1)にある日付(1~31) その「日付」がいったい何年何月のその日付なのか、ネタが無いと具体的にカレンダのどの日付に展開したらいいのか判りません。 なので、 準備: シートには「年/月/日」で日付を作成し、もし必要ならセルの書式設定の表示形式のユーザー定義で d日 などのようにして、日付だけを見せるようにしてもかまいません。 準備: 具体的なシートの作成状況が説明されていないので、シート1のA列に年月日の日付、B列、C列、D列にその日の内容が「言葉で(数値じゃなく)」記入してある状況を想定します 手順: カレンダーのシートの例えばA1セルに2014/6/13の日付が作成してあり、まぁカレンダーなので同様に日だけ表示してみせているようにしてあるとします カレンダーのセルってイマイチイミフメイですが、たとえばA2セルに =VLOOKUP(A1,Sheet1!A:D,2,FALSE)&CHAR(10)&VLOOKUP(A1,Sheet1!A:D,3,FALSE)&CHAR(10)&VLOOKUP(A1,Sheet1!A:D,4,FALSE) と記入し、セルの書式設定の配置で折り返して全体を表示するチェックを入れておきます。 まずここまで回答の通り実際に手を動かして出来るようになってから、それぞれのシートに具体的にどう記入したいのか、どこに何をどう並べたいのか、実際にヤリタイ事に応じて適切に応用してみて下さい。

関連するQ&A