• 締切済み

エクセルでシート1の連続している行をシート2に表示

こんにちは。エクセルでの作業方法の質問です。 早速ですが、シート1のA列が縦に1日~月末まで月日表示されています。その1日分は2行を結合して1日分となっています。 また1日分の横(B列~Z列)に数字のデータが並んでいます。 その中で1日分の行だけを隣のシート2に表示したいのです。 さらにその表示する1日分のデータ(B列~Z列)は、いわゆる現在の 日付『=TODAY()』のようにエクセルを開いた時に当日のデータをシート1から持ってきて表示(参照?)したいのです。 例えば:シート1に下記のデータがあります。 A   B   C    D    E 7/1  6    3    9    11 7/2  10   2 8 15 7/3 2 1 8 12 今日が7/2だとしたら上記シート1から 7/2 10 2 8 15の行だけをシート2の任意の 行に表示させたいわけです。 翌日になったら、7/3の行をシート2の同じ位置に 表示させたいのです。 前日(この場合7/2のデータは上書きされて7/3のデータ が表示されればよいです。) 以上ですが、質問の表現方法がうまくなくてすみません。 どうか、よろしくお願いします。

みんなの回答

  • keirika
  • ベストアンサー率42% (279/658)
回答No.5

NO.1です。 結合を解除し、質問の中にあるようなシンプルなデータ構成であれば 他の方が回答されている方法で実現できると思います。

hide5826
質問者

お礼

わかりにくい、ボキャブラリィの乏しい質問にお答え、アドバイス いただき感謝します。 ありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

何度もすみません B2セルに  =INDEX(Sheet1!$A:B,MATCH($A1,Sheet1!$A:$A,FALSE)+1,COLUMN(A1)+1) でした。 絶対参照の $マークもれていました。

hide5826
質問者

お礼

了解しました。 夜遅いのにありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

すみません。訂正します シート2 A1セルに =TODAY() と入っているとして B1セルに  =VLOOKUP($A1,Sheet1!$A:B,COLUMN(A1)+1,FALSE) B2セルに  =INDEX(Sheet1!$A:B,MATCH(A1,Sheet1!A:A,FALSE)+1,COLUMN(A1)+1) 入れて右フィルしてみてください。 B1とB2セルを右へコピイします。 B1とB2セルを選択してマウスをセルの右下にもって行き + になったらマウス押しながら右へ移動します。

hide5826
質問者

お礼

hallo-2007様 できました。ちゃんとシート1を参照してシート2に 表示されました。 大変ありがとうございました。 今度は、自分でVLOOKUP、COLUMN、MATCHの内容を 勉強してなぜこのようなことができるか検証して みます。 また、なにかありましたら教えてください。 本当にありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

シート2 A1セルに =TODAY() と入っているとして B1セルに  =VLOOKUP($A2,Sheet1!$A:B,COLUMN(A1)+1,FALSE) B2セルに  =VLOOKUP($A2,Sheet1!$A:B,COLUMN(A1)+1) 入れて右フィルしてみてください。

hide5826
質問者

お礼

ありがとうございました。 うまくいきました。 私にはかなり難易度の高いものです。

hide5826
質問者

補足

早々のご回答ありがとうございます。 すみません、右フィルの意味がわかりません。 教えてください。 B1セル、B2セルにそれぞれてみました。 それぞ入れのセルに♯N/Aと表示されました。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

A列の結合を解除することをオススメします。 色々やってみました所、結合セルに対してはMATCH関数やVLOOKUP関数 が使用できないようです。

hide5826
質問者

お礼

ありがとうございました。 うまくいきました。

hide5826
質問者

補足

keirika様 質問者hide5826です。早々のアドバイスありがとうございます。 では、セルの結合を解除した場合の表示方法ならありそうですか?

関連するQ&A

  • エクセルでシート1の連続している行をシート2に表示

    こんにちは。エクセルでの作業方法の質問です。 早速ですが、シート1のA列が縦に1日~月末まで月日表示されています。その1日分は2行を結合して1日分となっています。 また1日分の横(B列~Z列)に数字のデータが並んでいます。 その中で1日分の行だけを隣のシート2に表示したいのです。 さらにその表示する1日分のデータ(B列~Z列)は、いわゆる現在の 日付『=TODAY()』のようにエクセルを開いた時に当日のデータをシート1から持ってきて表示(参照?)したいのです。 例えば:シート1に下記のデータがあります。 A   B   C    D    E 7/1  6 3 9 11 7/2  10 2 8 15 7/3 2 6 1 7 今日が7/2だとしたら上記シート1から 7/2 10 2 8 15の行だけをシート2の任意の 行に表示させたいわけです。 翌日になったら、7/3の行をシート2の同じ位置に 表示させたいのです。 前日(この場合7/2のデータは上書きされて7/3のデータ が表示されればよいです。) 以上ですが、質問の表現方法がうまくなくてすみません。 どうか、よろしくお願いします。

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • エクセル 式の書き方

    1月~12月のシートがあり、その各シートに日毎の各データが入ってる状態です。(B列1日、C列2日・・・、) そこで新しいシート内で、今日の日付のデータを表示したいのです。11月30日だと11月シート内の30日の列の特定の行の値を表示するだけです。 today(),manth(a1),day(a1)なんかをつかっていくのかと思うのですが、月シート、日(列)の指定の仕方が分かりません。 詳しい方よろしくお願い致します。

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • Excelのあるセルの最終行のみ表示させたいです。

    Excelのあるセルの最終行のみ表示させたいです。  A     B     C      D 月日     入     出      残 10/1  1000   200    800 10/1    500   300   1000 10/1    200     0   1200 10/2   2000   500   2700 10/2    100     0   2800 このような表を 10/1    1200 10/2   2800 のように月日の最終行のD列のみ表示させたいのですが、どういう関数を使えばよいでしょうか?

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • ExcelのVLOOKUP関数?IF関数?

    下記のようなExcelがシート1にあります。  A     B     C 11/1 11/2 11/3 11/4 11/5 11/6 A列には月日が1日から31日まで入っています。 別のシート2には下記のようなExcelがあります。  A     B     C 11/1   1000    2000 11/1   2000    3000 11/3   5000    10000 11/3   7000    4000 11/5   500     3000 11/6   5000    1000 A列には月日が飛び飛びの状態です。 シート1には結果として下記のように表示したいのです。  A     B     C 11/1   3000    5000 11/2    0      0 11/3   12000   14000 11/4    0      0 11/5   500    3000 11/6   5000    1000 シート1の月日とシート2の月日の同一のものを探し、その値の合計をB列C列に表示する。 シート1の月日とシート2の月日が同一でないものは"0"と表示する。 この場合、どういった関数を使えばよいでしょうか。 また、関数式も具体的にどういったものにすればよいでしょうか。

  • エクセルのオートフィルタを使わないフィルタ方法を伝授してください。

    エクセルで日報を作成しています。 1sheetに365日分のセルを作成。 A1のセルに3月と入力すると以下の365行が「3月1日~3月31日」の 31行分の1か月分が表示になるようにするにはどんなテクニックが必要でしょうか?エクセルを終了して、その条件はキープしていて欲しい。 《元データ》  A列  B列  C列  D列 1    月  2 3 月日 曜日  本日の容量  残容量  合計 4 1月1日 月   150      20   170 5 1月2日 火   150      20   170 6 1月3日 水   200      20   220 7 : 368 12月31日........ 《入力結果》  A列  B列  C列  D列 1 3   月 ←このつきの前に「表示月」を入力 例えば「3」 2 3 月日 曜日  本日の容量  残容量  合計 4 3月1日 木          5 3月2日 金    6 3月3日 土    : 34 3月31日土 が表示される。  

  • エクセル 非表示行を上書きせずにコピーする方法

      エクセル2010を使っております。 例えば、 A列とB列にデータが入っており、B列のデータをそのままA列に平行移動で上書きコピーしたいのですが、 条件がありまして、 特定の行(ここでは10行目から15行目としますが)を非表示状態にしております。 この非表示行を飛ばして上書きしたいのです。 ですから、結果としては ・A列の1~9行目まではB列の1~9行目のデータが入っていて ・A列の10~15行目までは元のA列の10~15行目までのデータが入っていて ・A列の16行目以降にはB列の16行目以降のデータが入っている、 ということになります。 可視セルを使ってもみたのですが、 どうしてもA列の10行目以降にB列の16行目以降のデータが入ってしまいます。 どのように処理したらよいかアドバイスよろしくお願いします。

専門家に質問してみよう