• 締切済み

エクセル(EXCEL) 2つの値が一致する行の参照

エクセルで、以下のように「Sheet1」のA列に日付、B列には時刻が 入力されており、C列にはその時刻の為替レート(ドル)が入力され ています。 【Sheet1】      A     B     C 1 2009/3/1   7:00   99.56 2 2009/3/1   8:00   99.12 3 2009/3/1   9:00   96.12 以下続く この行が延々と数年間分入力されているとします。 そこで、例えば、「Sheet2」に毎日の7:00の為替レートのみを抜きだ して縦に並べたい(以下のように)とします。 【Sheet2】        A     B     C 1 2009/3/1   7:00   99.56 2 2009/3/2   7:00   98.39 3 2009/3/3   7:00   100.10 (要するに、毎日7:00の為替レートのみ時系列で見たい) この場合、「Sheet2」のC列にはどのような数式を入力すれば良いの でしょうか? 【Sheet1】から、「09年3月1日」且つ「7:00」の行のC列、 を拾ってきて、【Sheet2】のC列に返すということなのですが、 参照するところが2つ(日付と時刻)ある、場合の式の組み方がわかりません。 (もしひとつなら、VLOOKUP とか、INDEX + MATCH 関数で組めるのですが・・) 恐れ入りますが、おわかりになる方なにとぞご教示くださいませm(_ _)m。

みんなの回答

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.4

>そこで、例えば、「Sheet2」に毎日の7:00の為替レートのみを抜きだ >して縦に並べたい(以下のように)とします。 たとえばについて回答します Sheet1のD列に =IF(B1="7:00"*1,A1,"") といれ下にコピー Sheet2 C1=INDEX(Sheet1!C:C,MATCH(A1,Sheet1!D:D,0)) 因みに、やりたいことは C1=INDEX(Sheet1!C:C,MATCH(A1+B1,INDEX(Sheet1!$A$1:$A$20+Sheet1!$B$1:$B$20,),0)) こんな事かな

cocoopit
質問者

お礼

うおー!一番下に書いていただいたので、できますね。すばらしい! ありがとうございます。 このようなことを簡単にお答えになるとは! (というか、私のレベルが低いのか・・・) でも、実際に使うのはその上に書いていただいたD列に 日付をいったん書き出すほうがシンプルで良いかもしれません。 本当にありがとうございました。 問題が解決したうえ、とっても勉強になりました。深謝でございます!

回答No.3

わたしも、【Sheet1】に 補助列を 作ってよければ簡単かと 【Sheet1】に1列挿入して 「=A1+B1」でオートフィル 【Sheet2】のC列には INDEX + MATCH 関数で =INDEX(Sheet1!C列,MATCH(A1+B1,Sheet1!挿入した列,0),1)

cocoopit
質問者

お礼

ありがとうございます。 意外と簡単にできてしまいますね。 まだまだ、自分の関数の使いこなしレベルが低いのを痛感させられました。 勉強になりました。深謝でございます!

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.2

とりあえず2つ考えてみました。 Sheet2のC1へ =SUMPRODUCT((Sheet1!A$1:A$10=A3)*(Sheet1!B$1:B$10=B3)*Sheet1!C$1:C$10) を、オートフィルで必要分下へ、で表示できますが、重くなりそうです。 Sheet1で補助列を使用できるのならば、下記のような感じでも? Sheet1のA列に1列挿入して A1へ =TEXT(B1,"yyyy/m/d")&"_"&TEXT(C1,"h:mm") を、オートフィルで必要分下へ。 Sheet2のC1へ =IF(COUNTIF(Sheet1!A:A,TEXT(A1,"yyyy/m/d")&"_"&TEXT(B1,"h:mm")),VLOOKUP(TEXT(A1,"yyyy/m/d")&"_"&TEXT(B1,"h:mm"),Sheet1!A:D,4,0),"") を、オートフィルで必要分下へ。

cocoopit
質問者

補足

質問主です。 ご回答ありがとうございます。 ちょっと時間を使わないと理解できなさそうなので、 明日以降、改めて書き込みいたします。 取り急ぎご回答のお礼申し上げます。

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

こんばんは! 関数でないとダメですか? 一番簡単な方法はオートフィルタだと思いますが・・・ 質問内容を拝見する限りにおいては、この方法では解決できないような もっと深い理由があるような気もします。 毎日更新するたびにSheet2の方に7:00のデータのみが 反映されるようにしたいということなのでしょうかね? VBAなら出来るような感じもしますけど。 どうもこの程度の回答でごめんなさい。m(__)m

cocoopit
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなって申し訳ありませんでした。 お察しの通り、毎日更新する度にSheet2に7:00のデータが 入っていく形にしたいのです。 いずれにしましても、ありがとうございました。 また機会ございましたら、どーぞよろしくお願い致します。。

関連するQ&A

  • 【Excel】同じ行で2つの各値が一致する行の参照

    エクセルで【Sheet1】のデータから 【Sheet2】【Sheet3】の表を作成したいのですが、 いろいろ試してもわかりません。 どうか教えてください。 【Sheet1】 A B C   D E 1 2001 佐賀県 1 山田 090-000-0000 2 2001 愛媛県 2 佐藤 090-111-1111 3 2001 静岡県 4 伊藤 090-222-2222 4 2001 岡山県 5 中野 090-333-3333 5 2002 三重県 1 近藤 090-444-4444 6 2002 福島県 2 田中 090-555-5555 7 2002 岐阜県 3 吉田 090-666-6666 以下600行ほど続きます。 【Sheet2】 A B C 1 2001←入力します 2 1 山田 090-000-0000 3 2 佐藤 090-111-1111 4 4 伊藤 090-222-2222 5 5 中野 090-333-3333 【Sheet3】 A B C 1 2002←入力します 2 1 近藤 090-444-4444 3 2 田中 090-555-5555 4 3 吉田 090-666-6666 【Sheet2】【Sheet3】のA1には、 【Sheet1】のA1の値を入力します。 A2,B2,C2 A3,B3,C3 ... それぞれのセルにどんな数式を入れたら 表ができあがりますででしょうか? 【Sheet2】【Sheet3】共に、VLOOKUPで =VLOOKUP(A1,Sheet1!A1:D7,3,) =VLOOKUP(A1,Sheet1!A1:D7,4,)を使うと、 2行目はうまくいきますが、 3行目から狂ってきます。 頭が沸騰してきました! わかる方に教えていただいたほうが早いですネ、 どうぞご享受よろしくお願いいたします。

  • 【Excel】一致するデータの検索

    Excel2003を使用しています。 Sheet1のB列の値がSheet2のA列に入力されている値と一致したら、Sheet1のC列とD列の値をSheet2のC列とD列に表示させたく、VLOOKUP関数を使用したところ、Sheet1のB列とSheet2のA列のデータの並び方(順序)が同じではないためか、VLOOKUP関数ではできませんでした。 こういう場合、マクロで処理することは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? Sheet1のデータは4行目から、Sheet2のデータは6行目から入力されています。 よろしくお願いします。

  • Excel2003 検索して値の参照

    お世話になります。 掲題の件で ご相談が御座います。 添付のような表がありまして、シートが2枚に分かれております。 数式を入れたいシート(表示用シート)に参照元シート(入力用シート)を図で貼り付けました。 ピンクの表が入力用シートになります。 入力用の「C列"エリア"」を「D列"更新日"」を参照して 日付が横並びになっている 表示用シートに各項目を反映させたいのですが、どのような数式を入れたら良いのか、 また そもそも表の作りに無理があるのか?と ちょっと煮詰まってしまっている状態です。 入力用シートは更新日と備考以外はプルダウンで選択するようにしています。 反映させたい表示用シートには「A列」に「エリア」が北海道~沖縄まであります。 日付は10月~3月まで用意されており 3行目、15行目、27行目、39行目、52行目に「月」が入っており、 4行目、16行目、28行目、40行目、53行目に「日」が入っております。 さすがに 2行にまたがった日付を参照するのは無理があるだろうと思い 1行目にフォントの色「白」で「2009/9/25」等 該当する列に日付を入れました。 しかし、その後に 入力用シートのC列D列を参照して どうやって 表示用シートに反映させたら良いかで困っております。 作業列を作るにしても どうやったら良いものやら、、 そもそも 全部横並びになっている所に無理があるのでしょうか? どなたか お分かりになる方がいらっしゃいましたら宜しくお願い致します。 説明不足等 御座いましたら何なりとお申し付けください。 宜しくお願い致します。

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

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

  • 【Excel】行と列で値を検索したい

    こんにちは Sheet1に表があります。 Sheet2のA列と1行に値を入力したときに、 Sheet1の交わる値を表示したいのですが、 Sheet2のB2、C2、B3、C3の式を教えて下さい。 Excel2013です。 宜しくお願いいたします。

  • Excelマクロ、特定行の削除

    A列に日付か文字のどちらかが入力してある表があります。  A列(日付文字) B列(時刻) C列以下(その他データ ) 日付は全て同じ日付(11月11日なら全部これ)で、文字も全て同じ文字です。 日付またはB列が時刻(さまざまな数値)の行を削除して、A列が文字の行だけ残したいのです。 Range("2:2").Select Selection.Delete Shift:=xlUp これを表範囲で繰り返すのはわかります。 "2:2"の所に変数を用いると思いますが、変数に日付の行を指定したりするコードが分かりません。 A列が文字の行を検索し、それ以外の行を削除でもよいのですよね。 よろしくお願いします。

  • 指定列と行が一致するセルの値を別シートセルに入力

    sheet1のB3~B10にAからHの文字がありC2~H2に日付9/1~9/6がありC3~H10の枠内に数値が入力されています。sheet2のC3~F7の枠内にB列文字B~H、2行目日付9/1~9/4に一致する数値をsheet1よりボタンで入力したいのですがどなたかVBAが解る方宜しくお願いします。 環境はoffice Excel2013です。

  • VLOOKUP関数でエラーの表示された行だけを削除するにはどうすればい

    VLOOKUP関数でエラーの表示された行だけを削除するにはどうすればいいでしょうか。 http://okwave.jp/qa/q5920035.html の質問にて作成したワークシートCがあります。 ワークシートCのA列はドラッグして日付を埋めたので、昇順で365日日付が並んでいます。(2005年1月1日~現在まで) B列~K列までは、ワークシートA(為替)、ワークシートB(株式)からVLOOKUPで引っ張ってきた数値が入っています。 ドラッグして日付を埋めたので、A列にはマーケットが開いてない土日も日付が入っていますが、その結果、土日の日付を参照した行には#N/Aというエラーが表示されている状態です。 (Ex, A3は2005/01/02という日付が入っていて、B3~K3は#N/Aというエラーが表示されている状態です。) この#N/Aが表示されている行を削除するにはどんなマクロを組めばいいのでしょうか。 #N/Aを判別するようなものにすればいいんだと思いましたが、その具体方法が分かりません。 マクロも初心者なので、出来るだけ具体的に教えて頂けると助かります。 宜しくお願いします。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • Excel 参照行の削除でも可変しない関数

    Excel 参照行の削除でも可変しない関数 同じ形式で、数シートにわたり入力された文字をまとめた表を別のシート(シート1)に作成しています。 シート2以降の参照元データーは一定のルールで入力されていますが、削除や追加が頻繁に行われます。削除や追加の度にシート1B列・C列の関数が参照する行数が追随して可変しないようにしたいのですが可能でしょうか。 具体的には、シート2において6行目から9行目を削除した際に、シート1では「B2=みかん」/「C2=イチゴ」と繰り上がり、B行・C行は常に指定した行を参照するようにしたいと思っています。 <シート1>  A B     C 1 タイトル りんご  ばなな (← 3行目) 2 タイトル かき   なし   (← 8行目) 3 タイトル みかん イチゴ (←13行目) ・B列:「=IF(ISERROR('Sheet2'!$B3:$B3),"",'Sheet2'!$B3:$B3)」 ・C列:「=IF(ISERROR('Sheet2'!$D3:$D3),"",'Sheet2'!$D3:$D3)」 <シート2、3…> 参照したいセルは、B列とD列の3行目、8行目、13行目…と一定の間隔で入力されており、全てのシートにおいて同じ箇所に入力されています。 シートごとにカテゴリーの個数は(図A1:E4までを1カテゴリーと考えています)異なり、作業の度にカテゴリーの追加や削除が頻繁にあります。 うまく説明できているか不安ですが、良い方法を教えてください。

専門家に質問してみよう