• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのVLOOKUPについて。)

Excel VLOOKUPの使い方と前日の始値取得方法

このQ&Aのポイント
  • エクセルのVLOOKUPを使って株価の検証シートを作成する方法を解説します。
  • 225先物のシグナルを出すために、NYダウの前日の騰落率を取得する方法を説明します。
  • VLOOKUP関数を使用して225のシートに日本市場の営業日分のデータを取得し、前日の始値を表示する方法を解説します。

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

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

補足しておきます。 回答1は「一つ上が取ってこられればよい」というご質問への回答ですが,もしも回答2のやり方でできるときはもっと単純に =VLOOKUP(A10-1,NYダウ!A:G,2) とするだけで十分です。 どうすればホントに正しい計算ができるかは,あなたの各シートでどういう具合の日付が並んでいるのか,具体的な日付並びの(各シートの)例を挙げて正しい説明が必要です。

kazachin
質問者

お礼

新たな不具合については、NYダウの日付のダブりを判定する列を加えることで解決しました。 最も役立ったkeithinさんの回答をベストアンサーとさせていただきます。

kazachin
質問者

補足

回答ありがとうございます! 最初の質問の答えとしてはkeithinさんの回答で解決したのですが、 新たに問題で出てきてしまいました。 詳しくはimogasiさんの補足に書きましたので、 良いアイデアがありましたら再度知恵を貸していただけるとありがたいですm(_ _)m

その他の回答 (3)

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

検索の関数はVLOOKUP系統(3種)とMATCH関数しかない。前者は値を探すのもので、位置を探すものではないので後者を使い、INDEX関数と組み合わせて1行前の値を取り出せる。既に回答は出ている。 ーー しかし (1)質問の仕方として、必ずデータ例を挙げるべきだ。祝日とかの問題もあるだろう。 こういう株価がらみのことは、誰でもやっていて、常識として、みんなが知っているとして質問されても困る。エクセルの質問に答えられるものと、そういう相場などを経験している人とは同じでない。 エクセルなどは「パターンを学習する」もので、データ内容などは、色々の場合で同じように考えられる場合がある。 だからシートのデータの特徴を、例示としてあげてもらわないと、正しい解答が出せない。 確信を持って指定日の行のシートの1行前のデータを取りたいという質問で良いなら、例示も何も要らないが。 >日本市場の営業日分だけの >前日 >祝日 などエクセルのシートでは、どう考えるべきなのか説明のこと。

kazachin
質問者

補足

回答ありがとうございます! 説明不足で申し訳ありません。 検証の意図はNYダウを説明変数とし、225先物を目的変数としていますので A列には日本市場の営業日のみの日付が並んでいます。 私の質問の答えとしてはkeithinさんが書いてくださった =VLOOKUP(A10-1,NYダウ!A:G,2) で解決したのですが、実際に試してみると米国市場のみ休日の日には間違ったシグナルが出てしまうことに気付きました。 米国市場のみ休場日だった今年の5月30日(月)を例にすると、 まず日本市場の5月30日(月)のシグナルは、5月27日(金)のNYダウを参照します。 次に5月31日(火)のシグナルは、5月30日(月)のNYダウのデータがないので本来シグナルが出てはいけないのですが、上記の式だと5月27日(金)のNYダウを参照してしまいます。 正しいシグナルを出すための良いアイデアがありましたら、知恵を貸していただけるとありがたいですm(_ _)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

より正確には次式のような気もしますが? =INDEX(NYダウ!B:B,IF(COUNTIF(NYダウ!A:A,A10),MATCH(A10,NYダウ!A:A,0)-1,MATCH(A10,NYダウ!A:A,1)))

kazachin
質問者

お礼

回答ありがとうございました!

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

簡単には =INDEX(NYダウ!B:B,MATCH(A10,NYダウ!A:A,1)-1) などのようにして一つ上を参照します。

関連するQ&A

専門家に質問してみよう