出産前後の痔にはご注意!

Excelでコード名から銘柄名等を自動入力したい。


画像を参照して頂ければおわかり頂けると思いますが、
Sheet1のセルにコードを入力すると、Sheet2の一覧より対応する「銘柄名(企業名)・市場・売買単位」を自動で表示させたいと考えております。

当初、VLOOKUP関数で簡単にできるものと高を括っていたのですがどうやら無理のようでした。
他の関数やマクロ等を使えば出来ないことはないのでしょうが、あまりにも複雑になるようでしたら「コード入力→銘柄名表示」だけでもと思っています。

私のスキルでは限界のようですので、詳しい方のお知恵を拝借させてください。


ちなみにExcelは、Mac版Microsoft Office 2008です。

「Excelでコード名から銘柄名等を自動入」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (7件)

>ただ、数式が間違っているのか正しい答えも返らず#N/Aエラーがでます。



セルの書式を「文字列」から「標準」に変更するだけでは、データは文字列のままです。

F2キーを押してEnterするか、コードの数字を再入力するなどしてみてください。

ちなみに、データベースシートのコード番号のセルをコピー貼りつけしてもエラー表示が出たのでしょうか?
    • good
    • 0
この回答へのお礼

すべて解決いたしました。
ご親切にどうもありがとうございますm(__)m

お礼日時:2010/08/14 18:02

> ただ、数式が間違っているのか正しい答えも返らず#N/Aエラーがでます。



再度数値に変更してから入力しなおしてみてください。
センタリングを外しておくと数値になったかどうか分かりやすいと思いますよ。
    • good
    • 0
この回答へのお礼

すべて解決いたしました。
ご親切にどうもありがとうございますm(__)m

お礼日時:2010/08/14 18:02

> kmetuさんに教えて頂いた式を元に


> 「=VLOOKUP($C$3,Sheet2!$A$2:$B$3974,ROW(A2),FALSE)」
> と入力してみましたが、うまくいきませんでした。

他の方も指摘されていますが、もしかしてSheet1の該当セルが文字列で入力されていませんか?
    • good
    • 0
この回答へのお礼

他の方のお礼にも書きましたが、おっしゃるとおり文字列になっていました。お恥ずかしい限りです。

ただ、数式が間違っているのか正しい答えも返らず#N/Aエラーがでます。
お心当たりございましたら、恐縮ですが再度アドバイスお願いいたします。

しかしながらとりあえず一歩前進できました。ありがとうございました。

お礼日時:2010/08/14 17:24

#N/Aエラーが出るという意味なら、検索値のコード番号とデータベースのコード番号の値が同じではないことを意味しています。



添付画像のような検索シートを作成しているなら、コード番号を入力するセルの書式が「文字列」になっていることが考えられます(数字と文字列は同じデータではありません)。

数式自体の誤りの可能性も考えられますので、念のために、データベースシートのコード番号の1つをコピーして、検索値の欄に貼り付けて、正しい答えが返るか確認してください。
    • good
    • 0
この回答へのお礼

おっしゃるとおり文字列になっていました。お恥ずかしい限りです。

とりあえずセルの書式を「標準」に直したところ数式自体は機能してくれたようなのですが、正しい答えも返らず#N/Aエラーがでます。
他の方のお礼にも書きましたが、数式は「=VLOOKUP(C3,Sheet2!A2:B3974,2,FALSE)」と、入れています。
これは数式が間違っているということなのでしょうが、いくら確認しても間違いないように思えます。
お心当たりございましたら、恐縮ですが再度アドバイスお願いいたします。

しかしながらとりあえず一歩前進できました。ありがとうございました。

お礼日時:2010/08/14 17:21

>当初、VLOOKUP関数で簡単にできるものと高を括っていたのですがどうやら無理のようでした。


どこで間違ったのでしょうかね。Vlookup関数そのものですが。

=VLOOKUP(B3,Sheet2!A:E,2,FALSE)
=VLOOKUP(B3,Sheet2!A:E,3,FALSE)
=VLOOKUP(B3,Sheet2!A:E,4,FALSE)
といった具合で出来るはずです。

この回答への補足

どこが違っているのかわからないのです。関数式は「=VLOOKUP(C3,Sheet2!A2:B3974,FALSE)」と入れたのですがうまくいきません。

補足日時:2010/08/14 15:27
    • good
    • 0
この回答へのお礼

補足に書いた関数式を間違えましたのでこちらで訂正させて頂きます。
「=VLOOKUP(C3,Sheet2!A2:B3974,2,FALSE)」でした。
これでもうまくいきません。

お礼日時:2010/08/14 15:30

=VLOOKUP($C$3,Sheet2!$A:$D,ROW(A2),FALSE)



で下にフィルしたらいけるはずですが

この回答への補足

どうしても出来ません、なにが違うのか自体がわからず困っています。

補足日時:2010/08/14 15:26
    • good
    • 0
この回答へのお礼

kmetuさんに教えて頂いた式を元に
「=VLOOKUP($C$3,Sheet2!$A$2:$B$3974,ROW(A2),FALSE)」
と入力してみましたが、うまくいきませんでした。

お礼日時:2010/08/14 15:44

vlookup にて検索せよ!

この回答への補足

検索してみたところできそうなのですが・・・困りました

補足日時:2010/08/14 15:24
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q株価関連情報を取得できるAPIを知りたい

株価関連の、自分用のソフトウエアを作りたいと思っています。
そこで、株価関連情報を取得できるAPIを知りたいです。

速報性はあまり気にしません。20分ディレイとか、1日ディレイとかでもいいです。

自分なりに探してみたのですが、現時点で使えるAPIはほとんど無いように思いましたので、細かいことは言いません。
xmlとか、CSVとか、rssとか、それなりにシステム的に処理できる形で
何らかの株価関連情報を取得できるAPIをご存知でしたら、何でも良いので教えて下さい!!

Aベストアンサー

楽天RSS http://marketspeed.jp/feature/rss/index.html
岡三RSS http://www.okasan-online.co.jp/ont/function/okasan_rss/
↑この2つはリアルタイムに株価を取得するものです。

株価データダウンロードサイト http://k-db.com/site/default.aspx
↑これは日足相当のデーターをCSVでダウンロードできるサイトです。

あるいは、普通のWebサイトの情報を、自分でHTMLを解析して情報を取得したりします。これはいわゆるスクレイピングと呼ばれるやりかたです。

Q自分のEXCELに株価を自動的に取り込みたい!

パソコンを使って趣味の株取引をしています
EXCELでプログラムを作り売買を決めていますが、対象は30銘柄です

その銘柄の時価を手入力でセルにインプットしています
この手入力が大変煩わしいのです

株価が変わった時、もしくは一定時間ごとに私のシートの指定したセルに株価を自動的に入力してくれるプログラム、またはサービスはありませんか?


目的】時価入力が頻繁で大変だから自動化したいのです  シート内のセルではなくファイルの中に書き込んでおいてくれても結構です

Aベストアンサー

http://oshiete.goo.ne.jp/qa/5677546.html

Q【EXCEL】株式銘柄全リストの作成方法

EXCELを使用して、株式銘柄全リスト(銘柄名、コード、市場)の作成方法を教えてください。
また、株式銘柄全リストをダウンロードできるサイトがあったら是非教えてください。宜しくお願い致します。

Aベストアンサー

株価チャートを過去10年分表示し、日々の更新をネット上から無料で行えるソフトです。
ホームページ( http://www.alpha-chart.com/ )ではオンライン・スクリーニングも行えます。

東証大証やJASDAQなどの上場全銘柄(約3800銘柄)を表示し、各種のスクリーニングが行なえます。
また、過去3年の企業情報(連結決算情報、株主優待制度など)や信用残データも表示できます。

過去の株価データについてはYahoo! ファイナンスなどからダウンロードします。
企業情報も無料でダウンロードします。

参考URL:http://www.vector.co.jp/soft/win95/business/se243688.html

Qexcel関数で TRUEやFALSEについて

関数入力で TRUE、FALSEがありますが この意味が分かりせん (テキストを読んでも)
FALSEだからといって けして間違いではない??
ようするに どう使い分けたら良いのか
教えてください  

Aベストアンサー

エクセルの関数関係でTRUE、FALSEが出てくるのは、3種類あります。
(1)引数にTRUE、FALSEのどちらかを指定するよう決められているある種の関数。
(2)関数の値が、TRUEかFALSEのどちらかを返す。
(3)FALSE,TRUE関数(論理関数の一つ)
本件は(1どれかが決まっていて、引数があれかこれか2種類ある場合に、どちらかに決まっていると考えればよい。VLOOKUPのTRUE・FALSEなどはなぜ一方がTEUEで他方がFALSEなのか理由は判り難い。
個人的にはVLOOKUP関数は第4引数がTRUE型から機能が
主に用いられ、FALSE型に拡張されたのではないかと推定します。始めから設計する立場ならA型、B型でもよいように思う。
(2)は文字通り真か偽で当てはまる場合がTRUE、当てはまらない場合がFALSEの値を返すので、IF関数で聞くことになります。
(3)これらは特定の
  A.1と2
  B,0と1(これが多い)
  C.0と-1
  D.0とそれ以外
など、OS、言語、アプリなどで違う2値を取る(割り当てられている)ようなのです。
だからこれらを見ると、(2)の場合を除き、(1)では単なる符牒と考えれば割りきれるのではと思います。
使用の関数例(ざっと1部)
VLOOKUP、HLOOKUP
BINOMDIST
GABMMADIST
INDIRECT
MATCHになると照合の型が3種ありTRUE、FALSEを使わない。2種でもTRUE、FALSEを使わないものがありそう。

エクセルの関数関係でTRUE、FALSEが出てくるのは、3種類あります。
(1)引数にTRUE、FALSEのどちらかを指定するよう決められているある種の関数。
(2)関数の値が、TRUEかFALSEのどちらかを返す。
(3)FALSE,TRUE関数(論理関数の一つ)
本件は(1どれかが決まっていて、引数があれかこれか2種類ある場合に、どちらかに決まっていると考えればよい。VLOOKUPのTRUE・FALSEなどはなぜ一方がTEUEで他方がFALSEなのか理由は判り難い。
個人的にはVLOOKUP関数は第4引数がTRUE型から機能が
主に用いられ...続きを読む

Q貸し株注意喚起銘柄に指定されると・・・

素人の質問で恐縮です。仕手筋が逃げて売り込まれた銘柄を信用買いしましたが、買った日に「貸し株注意喚起銘柄」に指定されました。
週明けの動きが気になって仕方がありません。

「貸し株注意喚起銘柄」に指定されると、その銘柄は、
(1)その後どのような動きをするのが一般的でしょうか?(買い方、売り方どっちに有利?それとも関係無しでしょうか?)
(2)その理由は?

諸先輩の、ご教示をお願いします。

Aベストアンサー

6378は投資対象としては株価が割高にありますよね。業績は徐々に回復して復配もするようですが(掲示板信用したらあぶないかも?)いつも不安があるような感じです。

「貸し株注意喚起銘柄」に指定されたのは一日の出来高が通常に比べ異常だったからだと思います。
しかも篠原氏が360万株を信用で所有しているようで現引きした場合すぐにも逆日歩になると考えたのでしょう。
今後株価が上下に大きく動く可能性があり一般投資家に損害を与える恐れがあると判断されたのだと思います。

取り組みで動いている株ですから急落も予想の範囲内で週足で見る限り不思議ではありません。
普通なら600~630程度は返すとおもいますが?

今回の急伸は篠原氏の大量報告書が原因でしょう、思惑買いが入ったと思います。しかも300万株の大部分現物買いですね。信用売りも12万株くらい増えています。

篠原氏の買いが3/7~6/13なら(信用できませんが)あなたの買値がまだ安いことになります。

篠原氏の現引きと逆日歩にかけてみる価値はありますかね????

>週明けの動きが気になって仕方がありません。
仕手株で勝負と決めて買われたのでしょうけど心配でしたら株数を落とされたらいかがですか。

このての株は十分すぎるくらい調査してなお「買わない」くらいの用心が必要と思います。
短期で急落の可能性は低いと思いますから株数の調整か手元に現金ですね。

頑張って下さいね。 あくまで自己責任でお願いします。

6378は投資対象としては株価が割高にありますよね。業績は徐々に回復して復配もするようですが(掲示板信用したらあぶないかも?)いつも不安があるような感じです。

「貸し株注意喚起銘柄」に指定されたのは一日の出来高が通常に比べ異常だったからだと思います。
しかも篠原氏が360万株を信用で所有しているようで現引きした場合すぐにも逆日歩になると考えたのでしょう。
今後株価が上下に大きく動く可能性があり一般投資家に損害を与える恐れがあると判断されたのだと思います。

取り組みで動...続きを読む

Qエクセルのセルにカレンダーを表示させ、日付をセルに入力させたい

エクセルについて教えて下さい。

エクセルのセルをクリックすると、
カレンダーのようなものが表示され、
マウスで選択すると、
セルに日付が入力されるようにするには
どうしたらよいですか?

すみませんが、宜しくお願い致します。

Aベストアンサー

#02です。foo-mさんがVBAをお使いになるなら、以下のサンプルをいじってみてください。

このサンプルはC4セルがクリックされたときにカレンダーコントロールを表示して、日付を選んだらその日付をC4に書き込み、カレンダーコントロールを閉じるマクロです。

Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
ActiveSheet.Calendar1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$4" Then
ActiveSheet.Calendar1.Visible = True
End If
End Sub

マクロはシートのモジュールとしてペーストして下さいね

QEXCEL あるセルに数字が入力されれば既存マクロ実行させたい

ボタン等のグラフィックオブジェクトのマクロ実行は簡単なのですが、
ある位置のセルにデーターが入力されれば、
既存のマクロを自動実行させることできますか?

Aベストアンサー

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if Range(ある位置) <>"" then call 既存のマクロ名
End Sub

ある位置と既存のマクロ名を変更して使ってみてください。
あと このVBAは 操作するワークシートのほうに記述します。

QExcelVBAでのプロジェクトのロックの解除の方法

ExcelのVBEでプロジェクトがロックされてプロジェクトが表示されません。
VBAProjectをダブルクリックしてもパスワードの画面がでません、”プロジェクロがロックされています”と表示されるだけです。
このロックをはずす方法を教えて下さい。

Aベストアンサー

#2の回答者です。

>通常のものは、VBAProjectをダブルクリックか、VBAProjectのプロパティーの選択でパスワード入力のダイアログボックスがでるという理解でよいでしょうか。

そのとおりです。Excel97以前のものになると手立てがなくなります。Excel97は、Excel97のみでしか、基本的には開けられません。もちろん、97以降は、特殊なロックをしていない限りは、完全に開けられないということはないはずです。

QExcelのVBAで画像読込→サイズ変更がしたい。

Excel2003を利用して仕事の工事写真帳を作成していますがVBAでどうしても上手くいかない部分があるので教えていただければと思い投稿しました。
【仕様】工事写真帳は1シート構成、用紙1枚に3枚画像が入り、画像の右側には摘要欄があります。画像を読み込む位置をダブルクリックするとセルのサイズ(写真サイズに結合してあります)を取得して画像サイズを変更して格納します。
【問題点】2枚以上画像を読み込んだ状態で実行すると目的の画像のサイズが変更にならない場合があります。
画像を削除したことで画像の名前が重複するのが原因だというところまではわかるのですが対処方法がわかりません。アドバイスをお願いします。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

gyo = ActiveCell.Row '画像読込位置の取得
Set scel = Cells(gyo, 3)

scel.Select 'セルサイズの取得
w = Selection.Width
h = Selection.Height

fname = Application.GetOpenFilename _
("画像ファイル,*.gif;*.jpg;*.bmp", 1, "画像ファイルを指定して下さい") '画像読込
If fname = False Then
Exit Sub
End If
ActiveSheet.Pictures.Insert(fname).Select
i% = Selection.Index


Selection.Name = "gazou" & i '画像に名前をつける
Set 画像 = ActiveSheet.Shapes("gazou" & i)


With 画像 '画像のサイズ変更
.LockAspectRatio = False
.Placement = xlFreeFloating
.Placement = xlMove
.Width = w
.Height = h
End With

Range("F" & gyo).Select '摘要欄へ移動

End Sub

Excel2003を利用して仕事の工事写真帳を作成していますがVBAでどうしても上手くいかない部分があるので教えていただければと思い投稿しました。
【仕様】工事写真帳は1シート構成、用紙1枚に3枚画像が入り、画像の右側には摘要欄があります。画像を読み込む位置をダブルクリックするとセルのサイズ(写真サイズに結合してあります)を取得して画像サイズを変更して格納します。
【問題点】2枚以上画像を読み込んだ状態で実行すると目的の画像のサイズが変更にならない場合があります。
画像を削除したことで画...続きを読む

Aベストアンサー

画像にわざわざ名前をつける必要はあるのでしょうか?
(以下は一部抜粋して、少しだけ手を入れました)

Dim pict As String
 ActiveSheet.Pictures.Insert(fname).Select
 pict = Selection.Name
 With ActiveSheet.Shapes(pict) '画像のサイズ変更
  .LockAspectRatio = False
  .Placement = xlFreeFloating
  .Placement = xlMove
  .Width = w
  .Height = h
 End With

これなら画像を繰り返し削除しても大丈夫に思います

QエクセルVBAでVLookupを使って値を転記する

エクセル2003で商品の一覧表を作成しています。

Sheet1は商品一覧(左図)
Sheet2は価格表(右図)となっています。

マクロを使用して、Sheet1のB列に価格表のデータを転記させたいと考えています。

VLookupになるのかと思い、自分でいろいろとやってみたのですが、
どうしても動作せず、挫折してしまいました。

商品一覧の最後の行までいって、空白セルがくると止まるというのが、
難しくてできませんでした。

どうかお願いいたします。

Aベストアンサー

こんばんは!

わざわざVBAでやるメリットはないように思えますが・・・
Excel2003 というコトなので
Sheet1のB2セルに
=IF(COUNTIF(Sheet2!A:A,A2),VLOOKUP(A2,Sheet2!A:B,2,0),"")
という数式を入れB2セルのフィルハンドルでダブルクリック!
これで完了だと思います。

どうしてもVBAでやりたい場合、一例です。

ワークシート関数をそのまま使用するのが一番簡単だと思います。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
With Range(.Cells(2, "B"), .Cells(lastRow, "B"))
.Formula = "=IF(COUNTIF(Sheet2!A:A,A2),VLOOKUP(A2,Sheet2!A:B,2,False),"""")"
.Value = .Value
End With
End With
End Sub

別の方法としては、いかにもVBAらしくやると

Sub Sample2()
Dim i As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(i, "B") = wS.Cells(c.Row, "B")
End If
Next i
End With
End Sub

こんな感じでしょうか。

※ Sample2はループさせていますので、データ量が多い場合は
Sample1の方が速いと思います。m(_ _)m

こんばんは!

わざわざVBAでやるメリットはないように思えますが・・・
Excel2003 というコトなので
Sheet1のB2セルに
=IF(COUNTIF(Sheet2!A:A,A2),VLOOKUP(A2,Sheet2!A:B,2,0),"")
という数式を入れB2セルのフィルハンドルでダブルクリック!
これで完了だと思います。

どうしてもVBAでやりたい場合、一例です。

ワークシート関数をそのまま使用するのが一番簡単だと思います。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1...続きを読む


人気Q&Aランキング