プロが教えるわが家の防犯対策術!

パソコン初心者です。暇なので競馬予想ソフトを作ろうと思っているんですが、どの言語でどんなソフトが作れるのかおしてください。例えばR言語は統計ソフトがつくれる。みたいな感じで回答してほしいです。

追記
どんなソフトを作れるのかわからないので検討中なのですが、レースの詳しい情報などを入力し、検索ボタン押すと過去のデータに基づいて、荒れる可能性は何%、荒れない可能性は何%、入力した情報と一致する過去のレース一覧がでてくる。新情報入力すればは過去のデータに簡単に追加できる。みたいな感じのソフトをつくってみたいです。

質問者からの補足コメント

  • どう思う?

    後補足で追記に書いたようなソフトに適した言語を教えてください。パソコン初心者なのでどの言語も難しいと思います。なので難しさは考慮せず、追記に書いたようなソフトに特化している言語をお願いします。

      補足日時:2016/11/09 01:59

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

A 回答 (10件)

#6のお礼の返事です。



>なかにはわからない単語があり、基礎から勉強しないとなあと実感しました。
単語自体は、そんなに覚える必要はありません。こちらが適当につけているものもありますから。

最近、10年ぶりぐらいに手を付けた、できないと諦めていたコードがありましたが、それが、なんとかできるようになっていました。そこで思ったのは、できると信じれば、できる、ということでした。単語とかそういうものは、やっていれば覚えるけれども、構文のパターンだけは、覚えないといけないということです。だいたい3つぐらいあります。

それよりも、やっていて楽しいかどうかが大事です。私も、最初は、長いテキストを切り出す事から始まって、DOMで抜き出す方法を次第に覚えました。私が書いたのが、VBAというもので、特に、Excel VBAの便利さは、すぐに出力の方式を変更できることかなって思います。

VBAで、ちゃんとした目的を以ってやれば、だいたい3ヶ月もすれば、飲み込みの早い人は、使えるようになっています。
    • good
    • 0
この回答へのお礼

ありがとうございます。がんばってみます!

お礼日時:2016/11/11 02:23

#6であげたコードをIE起動から書き直してみました。


Excel のほとんどのバージョンで動くはずです。

標準モジュール等に貼り付けて実行すれば、その部分だけは取れるはずですが、内容的に変更があると、取れなくなってしまいます。

私自身は、#6で書いたようなパーツでの開発がほとんどで、インターネットにアクセスする部分は、すでに作って、取得する部分だけを開発し、組み入れたり、入れ替えたりするようにしています。

#6の「説明がまとまっていないような気がします。」について、順序が逆になってわかりづらいものになってしまいましたが、http://www.vba-ie.net/element/dom.html のサイトのことでして、ここのサイトは、Excel VBAオンリーですが、わかりづらい部分が多いです。VBAの基本的なことさえわかれば、後は、JavaScript サイトで勉強したほうが早いです。

VBAをたしなむ人には、単調なものとは違い、ダイナミズムで刺激的で、開発しながら、開発自体のテクニックをおぼえるという、ためになる部分が多いのですが、初心者ですと、IEとVBAのダブルですから、かなり負荷が大きいです。

なお、私は、競馬等、この手のものは一切分かりません。

'//
Sub GetIEData()
Dim objIE As Object '本来は、事前バインディングのほうが良い
Dim strURL As String
Dim c As Variant
Dim i As Long, j As Long
Dim db_h 'ここは型を決めない
strURL = "http://db.netkeiba.com/horse/2013106007/"
Set objIE = CreateObject("InternetExplorer.Application")

objIE.Navigate2 strURL
objIE.Visible = True
Do While objIE.Busy Or objIE.ReadyState <> 4: DoEvents: Loop
 With objIE
  Set db_h = .Document.getElementsByClassName("db_h_race_results nk_tb_common")
   For Each c In db_h(0).Cells
    If c.Cellindex = 0 Then i = 1: j = j + 1
    Cells(j, i).Value = c.innerText
    DoEvents
    i = i + 1
   Next
   Range("A1").CurrentRegion.Columns.AutoFit
   .Quit
  End With
  Set objIE = Nothing
End Sub
    • good
    • 1

あ、それと一つ書き忘れてたんですが。



既存のデータベース(AccessやMySQL)を利用する場合、VBAなんかの「プログラミング言語」とまた別に「クエリ言語」とか言われる、「データベース問い合わせ言語」を覚える必要があります。
SQL(Structured Query Language)と言うヤツなんですが、基本的に今はどのデータベースでも...って言うと語弊があるかな?いや、メジャーなデータベースだと基本的に全てこの「SQL」と言う言語でデータ検索するようになっています。
まあ、覚えると言うか、ハンドブックとか参照用に買っておいた方が良いでしょう。

SQLハンドブック:
https://www.amazon.co.jp/SQLハンドブック-第2版-Technical-Handbook-宮坂/dp/4797326611

基本的に、メジャーな、RDBMS(リレーショナル・データベース・マネージメント・システム、つまりAccessやMySQL等のデータベースソフトウェア)は全てこのSQLを介してデータ操作するんですが(しかしながら完全互換とは行かない辺りがクセモノ・笑)、この他に各ソフト独自の「プロシージャ」(操作手続き)ってのがあって、それで使い勝手に差が出たりするんですね。
まあ、プロシージャ自体は、例えばAccess買ったとしたらそのマニュアルなり、解説本を読むなりして欲しいんですが、いずれにせよ、プログラム組む上でもSQLとも格闘しなければならないとは思います。
    • good
    • 1
この回答へのお礼

下のno9はみすです。

お礼日時:2016/11/10 21:00

> ターゲットフロンティア


> http://jra-van.jp/pr/1612/
> これもエクセルつかっているのでvbaを勉強すればうまくこのデータを活用できますかね??

ターゲットはデータ競馬やってる人達には有名なソフトなんですが、これはエクセル製ではないです。
オリジナルはかなり古いんですが(確かNEC PC-9801のソフトだった?)、いずれにせよ、(確か)C言語で書かれた「独自仕様の」データベースソフトです。
検索するには凄く優秀なソフトウェアですが、一方、基本的に「外部とのやり取り」には向いてません。
単にエクセル形式でのファイルを出力可能、なだけなんじゃないでしょうか。
要するに、基本的にこれは「競馬予想をする」為のソフトウェアではありません。

> データをどのようにソフト組み込むかなどわかっていない

基本的にはJRA-VANから提供されているJV-Linkと言うソフト(と言うかライブラリ)を使います。
(JRAで紹介されてる競馬ソフトは全てこれを経由してJRA-VANのデータを取得します)

JV-Linkのインストール:
http://jra-van.jp/dlb/sft/jv.html

そして、JRA-VANの方から開発キット(基本ライブラリ集)が提供されているので、それを利用してプログラムを組んでいきます。

詳しい話は次のページに記述があります。

競馬ソフト開発体験教室:
http://jra-van.jp/dlb/sdv/trial.html

また、具体的なプログラミングに関する質問は、ここより、JRA-VANに訊いた方が良いでしょうね。


プログラミング質問広場:
http://forum.jra-van.ne.jp/cgi-bin/datalab/bbspr …

なお、既にあるソフトを利用して・・・と言う手も無いことはないでしょう。
いくつか紹介しておきます。

馬王:
http://jra-van.jp/dlb/sft/lib/baou.html

Accessを利用してVBAで組み上げられてるソフトです。
ベースがAccessなんで、恐らく統計言語Rなんかから接続してデータ解析なんかは可能だと思います。

EveryDB2:
http://jra-van.jp/dlb/sft/lib/everydb.html

これは「かなりの種類のデータベースソフト」にJV-Linkから読み込んだデータを「流しこむ」ソフトで、ある意味、実は一番「今の目的に合ってる」ソフトかもしれません。
例えば、Googleが使用してる(と言うか使用してた?今はMariaDB)のでお馴染みのMySQLなんかも使えるんで、データさえ取り込んでしまえば、それこそ統計言語Rを接続すれば自在な分析も可能になるでしょう。

PC-KEIBA Database for JRA-VAN Data Lab.:
http://jra-van.jp/dlb/sft/lib/pckeibadb.html

これも上のEveryDBに近いソフトですね。

つくれます Access版 for JVDL:
http://jra-van.jp/dlb/sft/lib/tukuremasuaccess.h …

これもデータベースに「流しこむ」ソフトですが、Access限定で、逆に言うと、これを使いながらAccessでVBAで組む、と言うのもアリでしょうね。

とまぁ、最初は「他人が作った」ソフトを利用して、自分のしたい事へと「カスタマイズ」していくのも一つの手でしょうね。
    • good
    • 1
この回答へのお礼

詳しくありがとうございました。no9
JRA-VANは有料会員がひつようなので、とりあえずSQL、vba、c言語を勉強し、もうちょいやりたいことを明確にしたほうがよさそうですかね

お礼日時:2016/11/10 20:59

#2の私からのアドバイス



なぜ、JRA-VANかというと、スクレイピングとかなんとか言われても、ぜんぜん、ここ何年もずっと内容を変える様子がないから、安定のWebサイトです。
しかも、その仕組が変わっています。パスワードはあるのですが、サイトの中にある、パスワードを拾って開けろというようになっています。最初、さっぱり、仕組みが分からなかったです。

改編は、ヤフオクみたいなところは、3ヶ月に1度ぐらいは変わっているので、追いつかないこともあります。「教えて!goo」は、ここの所、ぜんぜん変更していませんが、カテゴリコードが最近変わって、大混乱で、まだ余波が残っています。

http://jra-van.jp/pr/1612/
これって、データベースソフトですよね。

VBAの使い方は、かなり違う感じがすると思います。VBA入門とかいう本を買ってきても手が付きません。

#2で紹介した、吉田章太郎さんのJRAをベースに、今工事中のExcelVBA講座がありますが、コードがいささかというか、かなり古臭いままでした。[Excelを使った競馬プログラミング]

私など、一部のVBAの使い手は、いずれ、VBAは終わってしまうことは、ひしひしと感じながら使っていますから、特に、古臭い書き方は、手がつけようがないほど、移植性が低くなります。

それと、一から開発の時に、最後の最後にはFireFox のアドオンのBugFireが助けられることがありますが、普段、IEで十分です。

スレを読んでいて気になったけれども、今は、テキストデータから取り出すようなことはしません。この手の競馬などのサイトは、Tableを出してくれているので、それを元に取り出します。

このように、DOMを調べて抜き出します。
以下は、そのままでは、使えませんが、簡単な例を示しますと、このようなVBAのコードで取得します。

'//ヴィブロスの競走成績//
With objIE
  Dim oEv, n, ev, i, j
  Set oEv = .Document.getElementsByClassName("even")
   If oEv.Length = 0 Then MsgBox "データが取れません。", vbExclamation: Exit Sub
   i = 1
   For j = 1 To oEv.Length
    For Each n In oEv(j - 1).ChildNodes
     If TypeName(n) = "HTMLTableCell" Then
      Cells(j, i).Value = n.innerText
      DoEvents
      i = i + 1
     End If
    Next n
    i = 1
   Next j

参考サイト:
説明がまとまっていないような気がします。
ちなみに、私は、ここで覚えたわけではありません。
http://www.vba-ie.net/element/dom.html
    • good
    • 1
この回答へのお礼

詳しくありがとうございます!No.9も読みました。なかにはわからない単語があり、基礎から勉強しないとなあと実感しました。基礎の専門用語などはなんの科目?を勉強すればわかるようになりますかね。よかったら教えてください

お礼日時:2016/11/10 20:38

> JRA-VANがよさそうなので、JRA-VANにしてみます。



何度も繰り返しますが、恐らくそれが一番無難でしょう。

> HTMLのことも調べてみました。かなり時間かかりそうですね。

ですね。
ちなみに、HTMLと言うのは、ザックリ言うと、Webブラウザ(Microsoft Internet ExplorerやAzure、Firefox、Google Chrome等)でページを見る際に「どうやって表示するか」と言う約束事(マークアップ言語)です。ここに準拠してれば、基本的にどのWebブラウザで見ても「理論的には」同じようにページが表示されます。
当然この「教えて!goo」もHTMLで記述されています。

例えば、netkeiba.comだと、今週のエリザベス女王杯の出走予定馬のヴィブロスと言う馬のデータは次のようになっていますね。

ヴィブロス :
http://db.netkeiba.com/horse/2013106007/

んで、「人間が見れば一発で分かる」ページ構成になってますが、生憎だからと言ってコンピュータに優しい、たぁ限らない。
どのブラウザか知りませんが、恐らく右クリックで「ページのソースを表示」と言う選択肢が出てくると思うんで、それを実行すれば「HTMLとしてどう記述されてるのか」分かると思います。
多分1300行余りのテキストデータとして見れると思いますが、それがHTMLです。
んで、恐らく525行辺りかな?

<div class="cate_bar">
<h2>ヴィブロスの競走成績</h2>
<div class="sp_info_box_01 fc">

とか書いててガーッと過去の競走成績が出てくるんですが、この例の場合、ソフトで1300行中525行目を探し当て、過去の競走成績をデータとして「抜き書き」していかないとなりません。
また、Webページなんで、広告が入ってたり、要らない情報が要するに存在してて、どれが大事な情報なのか、ソフトウェアが決められるようにしないといけないんですね。
これはかなり厄介です。
JRA-VANやKOLは「コンピュータで分かりやすい」データ設計をしてるんで読み込みとかは仕様に従えば大丈夫ですが、Webページ相手だとそれがそうもいかないんですよね。

また、今は日本だと主にHTML4(この4はヴァージョン番号)が用いられてますが、もうHTML5が諸外国だと使われ始めています。HTML5が優勢になったらどうなるのか・・・?
別にHTMLに限らないんですが、要するに「仕様変更」が起きた場合どうなるのか、と言うのも明快ではないのです。
平たく言うと、仮に、netkeiba.comが

「ページデザインを変えました!以前より見やすくなりましたよ!」

等として、人間は見やすくなっても「コンピュータで処理する」場合、これが困ったちゃんなんですね。HTMLからデータを抜き書きしてるプログラムを全部変更しなければならなくなる、なんてのも「充分あり得る」話になるわけです。

と言うわけで、一見タダで良さそうなんですが、このテの「ページからデータを抜き出す」ようなプログラムの場合、Webプログラミングに精通してないとかなり厄介なんです。

(実は同様の理由で、JRAが提供してるi-PATでの自動投票機能は滅茶苦茶実装が難しい、と言われています)
    • good
    • 0
この回答へのお礼

詳しくありがとうございます。テキストデータ?も見てみました。HTMLは広告やらで思った以上に厄介ですね。いらない情報を抜くにしても初心者なので時間がかかり、それを何ページもやるとなるとかなり・・・・非現実的なきがしてきました。
大まかのことはわかって気がしてきましたが、まだ細かいことがわかっておらず・・データをどのようにソフト組み込むかなどわかっていないのですが、vbaを勉強すればわかってきますかね?

ターゲットフロンティア
http://jra-van.jp/pr/1612/
これもエクセルつかっているのでvbaを勉強すればうまくこのデータを活用できますかね??

お礼日時:2016/11/10 11:51

> VBAは言語?らしいので図書館とかで調べてみます。



そうです、プログラミング言語です。
VBA(Visual Basic for Application)はVB(Visual Basic)の亜種で、Word、ExcelやAccess用に作られたマクロ(拡張機能。さまざまな動作を纏めて記述出来る)ですが、Visual Basicを基にしています。
マクロでもこー言った事



やるような人が出る位なんで、それなりに強力です。

> どのサービスを利用するのかっていうのソフト開発する上でのデータ(競馬の情報)のことですか?

その通りです。
先ほども書いた通り、大まかにはJRA-VANとKOLの2つがネットでの競馬情報の配信サービスになっています。
まあ、中には、Webプログラミングの知識とかある人だと、例えばnetkeiba.com

netkeiba.com:
http://db.netkeiba.com

のHTMLからデータを抜き出して・・・とかもトライしてるみたいですが、まあ、フツーはやっぱりJRA-VANかないしはKOLから正規にデータを買う、と言うのが一番簡単になるんじゃないでしょうか。
    • good
    • 1
この回答へのお礼

なるほど詳しくありがとうございます。なんとなくわかってきました。最初の回答の意図ちゃんとわかっておらず、見当違いな返信をしてしまい申し訳ないです。JRA-VANがよさそうなので、JRA-VANにしてみます。

 動画拝見しました。エクセルでこんなこともできるんですね!

HTMLのことも調べてみました。かなり時間かかりそうですね。netkeiba.comは無料なのでHTMLも視野に入れてみたい思います。

お礼日時:2016/11/10 03:37

> 回答ありがとうございます。

jar-vanみたいながちがちなやつではなくもう少し簡易的なをつくれればいかなっと思っていました

とは言っても、

> 検索ボタン押すと過去のデータに基づいて

と書いてる以上、手作業で過去データを入力するのは物凄い大変ですよ。
ヘタすればプログラム作るよりデータ入力の方が遥かに時間が取られます。

近似のサービスとしては、NECインターチャネルと競馬ブックが行っている

KOL:
http://www.keibado.ne.jp

と言うのがありますが、ランニングコストから言うと、やっぱJRA-VANの方が「安い」って事になって、結局、そっちになっちゃうんじゃないでしょうか。
いずれにせよ、「どのサービスを利用するのか」と言うのを先に決めないと、競馬ソフト関係のプログラミングは暗礁に乗り上げちゃうでしょう。

あと、 #2 の方が挙げている書籍

DIY競馬プログラミング:
http://amazon.co.jp/dp/490167675X

と言うのは、昔のメール配信サービス時代のJRA-VANのデータを用いる、と言う書籍で、現行のJRA-VANには基本的には対応していません。
また、出版社自体が潰れちゃってるんで、その本を買うのもなかなか難しくなってるんじゃないでしょうか。
(まあ、古本で入手も可能でしょうが)

結局、

> 検索ボタン押すと過去のデータに基づいて

となると、データベースに入れる、って事が避けられなくなるんで、MicrosoftのAccess辺りを購入してVBA(Visual Basic for Application)で組むってのが現実的でしょうね。
あるいは、古いVB(Visual Basic 6)だけどJRAがソースを公開している

馬吉:
http://jra-van.jp/dlb/sdv/pgm.html

と言うのがあって、それを改造する、なんてのがラクかもしれません。

いずれにせよ、MicrosoftのAccess等を買って、付属のVBAを利用する、ってのが一番簡単で手っ取り早いでしょうね。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。MicrosoftのAccess調べてみたのですが、かなりよさそうです!VBAは言語?らしいので図書館とかで調べてみます。
どのサービスを利用するのかっていうのソフト開発する上でのデータ(競馬の情報)のことですか?お門違いの質問だったら申し訳ないです。

お礼日時:2016/11/10 00:03

こんにちは。



ご自分で、最初からやったら、かなり時間が掛かるでしようね。

吉田章太郎さんという方が、『DIY競馬プログラミング』という本を出したのですが、皆さん、挫折したそうです。(甘い期待があったからだと思います)
http://amazon.co.jp/dp/490167675X

私は、中身は、だいたい想像つきましたが、当時のものはたぶん呪文のような書き方だったはずです。古いテクニックで勉強にはなりません。その後、この世界も変わったわけで、それで内容を一新させたようです。
http://www.yannies.com/diy/index.htm
[Excelを使った競馬プログラミング]

この方は、もともとは、VB系のプログラマーだったそうです。
Excelのレベルからすると、上級になります。ExcelのVBAを使うということです。

それと、ネットでは有名になった、Yu-Tangさんは、Accessで作られていましたが、こちらの吉田さんは、別のデータベースを使うようです。Yu-Tangさんは、一部の人たちに、クローニングやスクレイピングのブームを作ってしまいました。

私は、競馬が分かりさえすればと思いつつも、WebスクレイピングにYu-Tangさんがご紹介していただいたので、とても興味が湧き、ずっと開発は続けていますが、肝心の、分析とかは仕組みが分からないもので、先に進みません。

でも、競馬をやるやらない関係なく、一旦、この世界に踏み入れたら、やめられないという感じがします。それは、自分の上達が感じ取れるからです。私には、それだけでも十分お釣りがきます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2016/11/09 12:48

うーん、JRA-VANですよね?


このページ

http://jra-van.jp/dlb/sdv/trial.html

見る限り、そんなに「適した言語」選ぶ程選択肢が無いと思うんですが・・・。

*Borland C++Builder 6
*Borland Delphi 7
*Microsoft VisualBasic 6
*Microsoft Visual Basic 2008 Express Edition
*Microsoft VisualC++ 6
*Microsoft VisualC++ .NET

しかも、会社も指定されてる、つまり処理系の選択の幅がそもそもないですね。
(その上、現行で売ってるかどうか定かではなかったりします・笑)
多分これら以外はサポート対象外でしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。jar-vanみたいながちがちなやつではなくもう少し簡易的なをつくれればいかなっと思っていました

お礼日時:2016/11/09 12:47

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

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

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

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

Q使えるソフトを作りたい(プログラミング)

現在、大学でコンピュータの勉強をしていますが、
学校でやるプログラミングは基礎の基礎なので、実際に使えるものは全くありません。

自分で使えるソフトを作りたいのですが、
どのように勉強したらよいでしょうか。

具体的には、競馬予想ソフトと自動で株を売買するソフトを作りたいです。

また、これまで学校などで学んだことのある言語は
C++,Java,アセンブリ(NASM)、C#(左からよくわかる順)です。

最近、Accessでデータベースを作り始めて、VB・VBAとかもやったほうがいいなと思っています。

参考になるホームページや本があったら教えて下さい。
よろしくお願いします。

Aベストアンサー

>実際に使えるものは全くありません。
そうでしょうね。
>自分で使えるソフトを作りたい
>競馬予想ソフトと自動で株を売買するソフトを作りたい
この作りたいという「熱意」が最も大切なことだと思います。
 次には、作る対象のこと、ここでは、競馬予想ソフト、株売買ソフトについて、できる限りの多くの関係資料を、本屋、インターネットで、集めてみてください。そして、読んでみて、作りたい競馬予想ソフトなどが、どのようなものが出ていて、どのようなところに特徴があるのかを知ることです。
 本や資料は、自分にとってわかりやすいものがいいのです。これくらい理解できなくてはいけないと言って、難しいものにトライする必要はないと思います。
 プログラム言語の本などを選ぶ場合にも、同じことが言えると思います。

 この「熱意」と「相手をよく知ること」は、将来、どのような仕事につくことになっても、必須のことでしょう。
どの言語を使うかは、現在では、C++、Java、Delphiなどから一つを選べばよいのではないでしょうか。勉強のための勉強ではなく、やりたいソフト作成に集中的に取り組めば、まずは、何とかなるものです。
 あのビルゲイツも最初は、Basicで、徹夜をしながらソフト作成に没頭していたようですよ。
 今の思いを大切に持ちつづけて、とりあえず、第一バージョン、プロトタイプを作成してみてください。それから、少しずつ改良してゆけば、今はいいのではないでしょうか。頑張ってください。

>実際に使えるものは全くありません。
そうでしょうね。
>自分で使えるソフトを作りたい
>競馬予想ソフトと自動で株を売買するソフトを作りたい
この作りたいという「熱意」が最も大切なことだと思います。
 次には、作る対象のこと、ここでは、競馬予想ソフト、株売買ソフトについて、できる限りの多くの関係資料を、本屋、インターネットで、集めてみてください。そして、読んでみて、作りたい競馬予想ソフトなどが、どのようなものが出ていて、どのようなところに特徴があるのかを知ることです。
 ...続きを読む

Q競馬新聞のエクセルデータ

エクセルを利用して予想をしているのですが、過去データを打ち込むのが非常に面倒です。
過去の参加R、競馬場、距離、ダートか芝か、タイムなどのデータが
エクセルで欲しいのです。
過去の情報をエクセルで打ち込んでいるサイトをご存知の方いらっしゃいませんか?

*あくまでも個人で使用するものです。

Aベストアンサー

私は好きな馬の色々なデータを集計するのにエクセルを利用していますが、
http://db.netkeiba.com/
↑ここで欲しいデータを検索してコピー、エクセルにペーストしています。
項目ごとにセルに入ってくれるので不要なものは行単位や列単位で削除が
可能ですし、オートフィルタで、さまざまなデータが即、集計出来ますよ。
意図が違ってたらごめんなさい。

参考URL:http://db.netkeiba.com/

QエクセルVBAプログラミングに関して(競馬ソフト)

あるテキストファイルから文字列データ(オッズデータ)を取り出してエクセルのシートに貼り付けようと試みています。競馬をされている方は分かると思いますが、出走頭数により枠連と馬連の関連が変わります。(例:馬連(1)-(13)は18頭立てなら枠連1-7、13頭立てなら枠連1-8。馬連(7)-(15)は18頭立てなら枠連4-7、16頭立てなら4-8。)これを出走頭数の変化に伴ってエクセルの同一シート内にそれぞれ対応したオッズを貼り付けるにはどういったプログラムを(VBAマクロ)組めばいいでしょうか?
A列に枠連の番号(若い番号順に1-1、1-2、・・・)
B列にその枠連のオッズ
C列に対応する馬連の番号(先ほどの例で言えば馬連(1)-(13)は18頭立てなら枠連1-7に、13頭立てなら枠連1-8に含まれる)
D列にその馬連のオッズ

A列の枠連の番号に関していえば、当然出走頭数により存在しないものが出てくる(例:13頭立てのときの1-1,2-2,3-3いわゆる”ゾロ目”)

元データには枠連、馬連ともにA列のある行に固定長文字列で
01:------000151000055000234000524000036000235
などというように
01:=軸1番から
枠連(馬連)1-1=オッズなし(------)
枠連(馬連)1-2=15.1
枠連(馬連)1-3=5.5
と6バイト単位で表示されています。

高度な処理だと思いますが分かる方教えてください。よろしくお願い致します。

あるテキストファイルから文字列データ(オッズデータ)を取り出してエクセルのシートに貼り付けようと試みています。競馬をされている方は分かると思いますが、出走頭数により枠連と馬連の関連が変わります。(例:馬連(1)-(13)は18頭立てなら枠連1-7、13頭立てなら枠連1-8。馬連(7)-(15)は18頭立てなら枠連4-7、16頭立てなら4-8。)これを出走頭数の変化に伴ってエクセルの同一シート内にそれぞれ対応したオッズを貼り付けるにはどういったプログラムを(VBAマクロ)組めばいいでしょうか?
A列に枠連の番号...続きを読む

Aベストアンサー

申し訳ないのですが私は EXCEL の知識が全くないんです。
 セルからデータを読み、別のセルに代入と言う事もできません。
 EXCEL の VBAのEditor と言われても何の事か分かりません。
 Sub プロシージャ の事をいうのでしょうか?
 だったらそのまま貼り付ければ動くと思います。
 
 競馬の予想ソフトを作ろうとしている方が、これを EXCEL に移植出来ない。なんて信じられません。
 もしこのプログラムが理解できないのであれば、私にはお手伝い出来ません。
 (出走頭数と馬番・枠番の関係は非常に難しいんです。出来る人は限られるかも。)


Ozz$(153, 4)の出来上がりイメージは、以下の様になります。

1(枠連)2:枠オッズ 3:馬連 4:馬オッズ

1-1    .0    01-02    15.1
1-2   15.1    01-03     5.5
1-2   15.1    01-04    23.4
1-3    5.5    01-05    52.4
1-3    5.5    01-06     3.6

取消し、除外馬の箇所のオッズは Val関数で変換された時点で0になります。
自分の好きな様に表示を変えてください。(有効オッズで0になる事はありません!)

とりあえず間違えてしまった箇所を訂正しておきます。
「枠に何頭入っているかを調べる。」の部分を勘違いして間違えました。以下の様に訂正して下さい。


'元データ
Dim 枠Data(8), 馬Data(18), Wozz, Uozz

'Ozz$(153,4) は 153通りあり、1:枠 2:枠連OZZ 3:馬連 4:馬連OZZ を入れる。
Dim 枠頭数%(8), 枠番%(18), Ozz$(153, 4), uma1%, uma2%

'サンプルデータ
tousu = 18
枠Data(1)="01:------000151000055000234000524000036000235000324"
馬Data(1)="01:------000151000055000234000524000036000235000324"


'枠に何頭入いるかを調べる。
For i = 1 To tousu
If i <= 8 Then
w = i
Else
w = 9 - i Mod 8: If w = 9 Then w = 1
End If

枠頭数(w) = 枠頭数(w) + 1

Next i

'馬番と枠の関係
ban = 0
For w = 1 To 8
For i = 1 To 枠頭数(w)
ban = ban + 1
枠番(ban) = w
Next i, w


'組み合わせ と オッズ
n = 0
For uma1 = 1 To tousu - 1
For uma2 = uma1 + 1 To tousu

n = n + 1
waku1 = 枠番(uma1): waku2 = 枠番(uma2)
'枠連
Ozz(n, 1) = Format(waku1, "#") + "-" + Format(waku2, "#")
'枠連オッズ
Wozz = Val(Mid(枠Data(waku1), 6 * (waku2 - 1) + 4, 6)) / 10
Ozz(n, 2) = Format(Wozz, "#.0")
'馬連
Ozz(n, 3) = Format(uma1, "0#") + "-" + Format(uma2, "0#")
'馬連オッズ
Uozz = Val(Mid(馬Data(uma1), 6 * (uma2 - 1) + 4, 6)) / 10
Ozz(n, 4) = Format(Uozz, "#.0")

Next uma2
Next uma1

申し訳ないのですが私は EXCEL の知識が全くないんです。
 セルからデータを読み、別のセルに代入と言う事もできません。
 EXCEL の VBAのEditor と言われても何の事か分かりません。
 Sub プロシージャ の事をいうのでしょうか?
 だったらそのまま貼り付ければ動くと思います。
 
 競馬の予想ソフトを作ろうとしている方が、これを EXCEL に移植出来ない。なんて信じられません。
 もしこのプログラムが理解できないのであれば、私にはお手伝い出来ません。
 (出走頭数と馬番・枠番の関係は非...続きを読む

Q競馬ソフトの作成

簡単な競馬ソフトを作成する方法があれば教えて下さい。

Aベストアンサー

ソフトを作成するってかなり難しいと思います。
他の人のソフトを見て参考にしてみたらどうですか?

http://jra-van.jp/dlb/sdv/trial.html
ここの競馬ソフト体験教室では、競馬ソフトを作成していく過程を
ステップアップ形式で解説してくれるみたいなので、
こちらもおすすめします。

Q競馬のレース結果のデータがほしい。

競馬で、データ分析のプログラムを作っています。作成にあたって、中央競馬で実施されたレースごとの情報が必要なのです。よくスポーツ新聞に出ていますよね。全着順と全馬の最終オッズ、配当などです。週刊誌のギャロップを買っているのですが、毎回購入するのはお金がかかりますよね。有料サービスでもいいのですが、G1レースも含め、過去のデータを閲覧できるサイト、情報機関などご存知でしたら教えて下さい。なお、必要なのは、前述のとおり、全着順と全馬の最終オッズ、配当、人気です。

Aベストアンサー

まだ大丈夫ですか?
ここはいかがでしょうか?
私がよく使っているサイトです。
すっごい詳しくて、見やすいですよ。

参考URL:http://keiba.nifty.com/


人気Q&Aランキング