競馬データベースをエクセル関数で簡単に作成する方法

このQ&Aのポイント
  • EXCELで競馬データベースを作成する際に、複雑なセルの可変による問題に直面しています。特に払戻金の部分のセル範囲を固定する方法がわかりません。
  • 関数を利用したセル範囲の抽出方法について試行錯誤していますが、うまくいきません。VBAにも詳しくないため、関数を使用した方法を教えていただけると助かります。
  • 競馬データベースを作成するための関数を組み合わせる際に、可変するセル範囲の払戻金部分の抽出方法がわからず困っています。関数をネストさせる方法やVBAを使用しない方法など、わかりやすくご教授いただけると幸いです。
回答を見る
  • ベストアンサー

競馬データベースをエクセルの関数で作りたいのですが

 初めまして。少し前にここのカテゴリと違う場所で質問をしてしまいましたので、改めてこの場所をお借りして質問させて頂きます。  私、EXCELで趣味的に競馬データを作っている者ですが、ある部分で躓いてしまい難儀しております。  添付画像のように競馬データをサイトからテキストでコピーしているのですが、黄色の「B3~B12」の部分は出走頭数により行全体が上下に可変します。  膨大なデータ量となるため、同じセル範囲に1レース分を一度にコピー・ペーストし、あとでデータベースとなる固定のフォーマットを作りたいのです。  当然ながら払戻金の項目も出走数により上下するのですが、これを解決しようと可変しても、セル中の文字がどのレースデータをペーストしても固定である、「B14」の「▼払戻金」という文字を基準に下へ向いて関数を作ることは出来ました。  F5=INDEX(B3:B30,MATCH("▼払戻金",B3:B30,0)+1,1,1)で+の右数字を増やす事で、3つの複勝や同着だった場合の枠連・馬連の空欄にも対応できる項目のペーストがF列に出来たのですが、その横にあるC列の馬番やD列の払い戻し金額をそのままG列・H列に抽出するところで挫折しています。  F列に入力してある関数を利用して違う関数をネストするように組まなければ、上下にデータが動くためセルを固定できないので、何とか「▼払戻金」の文字位置を基準に抽出できないかと試行錯誤してみたのですが、単勝の横にある7の数字も680円の数字も出現してくれません。  当方VBAなど触った事もなく、できれば関数で処理できる方法があれば、どなたかご教授くださいませ。  よろしくお願いいたします。

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

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

黄色い部分は最小で無い場合もあり、最大でも10までという事なのですか? 手順: F5には =INDEX(B$3:B$99,MATCH("▼払戻金",$B$3:$B$99,0)+ROW(F1))&"" と記入、右にコピー、下にコピーします。 右に下にコピーした時に、数式のどこが変わりどこが変わらないのか、よく見比べて理解してください。

huntoucyu
質問者

お礼

keithin様。早々のご回答ありがとうございます! 見事に表示されました! なるほど!INDEXとMATCHに加え、複合参照と絶対参照、それにROW関数を組み合わせてこのような方程式が成り立つのですね。私がエクセルの分厚い教科書を数冊も持ちながら、このような応用ができないというのは、基本を理解できていないからでしょう。 目からウロコの思いです。この考え方を他の関数でも応用できるように努力してみます。 本当にありがとうございました。

関連するQ&A

  • エクセル関数について

    こんばんは。 エクセル関数に関して、質問させてください。 今現在、エクセルであるデータを作っているのですが、 そこに例えばB2セルに東京、C2セルに3という数字が、またB3セルに大阪、C3セルは空欄になっているとします。 そこで、C列に数字が入っている場合のみ、B列の都道府県名と、それに対応するC列の数字を他のシート(同じシートでも可)に書き出すようにしたいのですが、そのような関数はあるのでしょうか。 最終的には、マクロを組んで、自動化させたいのですが… 長々と申し訳ありませんが、よろしくお願いいたします。

  • エクセル関数の質問です。

    エクセルでセルA1=4の場合セルB2=セルD1、セルA1=5の場合セルB2=セルE1、セルA1=6の場合セルB2=セルF1というように、セルA1に数字を入力するとセルB2に反映するようなセルB2に入力する関数を教えて下さい。  セルA1には月(4月から3月)の数字(4~12、1~3)が入り、4月のときにはD列(D1)、5月のときにはE列(E1)、6月~3月にはF列(F1)~O列(O1)の数字が入ります。よろしくお願い致します。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • エクセルの関数入力【初心者です】

      A   B    C 1 1000  700 2 2000 3 1000  580 4 8000  790 のようなA列には常に数字が、B列には数字があるところとないところのあるデータです。 C列のセル入力する 「Bセルに数字があればA-B、Bセルが空白なら空白のまま」という関数はどう入力すれば良いか教えてください。 宜しくお願い致します。

  • Excel VBA   %の入ったセル

    困りました、、、 VBAを使って A×30%+15000 これが入ったセルB2と たとえば250000が入ったセルB2を掛け算したいのですが (B2の数字は固定ではなくいろいろな数字が入ります) 文字列が入っていることにより うまくいきません 今は仕方なくMid関数で数字を抜き出して使っているのですが なにかよい方法はないでしょうか よろしくお願いします<m(__)m>

  • エクセル関数の詳しい方ご教示ください。

    エクセルの詳しい方、ご教示ください。 A B C D E F G(表示したい列) 1行目 2 3 5 7 9 2 =知りたい関数 2行目  4 5 8 9 1 2 上記のようなランダムな数値データがあり、 ・Aの列に表示している数字の数だけ、 ・Bから右の列に移動した数字を、 ・Gの列に表示したい と、思っています。 例で考えると、 G1のセルは7 G2のセルは2 と表示されるイメージです。 Gにはどのような関数を使えばよいでしょうか?

  • エクセルの関数について

    関数の入力で教えて下さい。 たとえば,=counta(b4:ad4)の場合です。 b4のbの文字はは固定したセルから,4の文字は固定した別の セルから引いてきて,”b4”の文字を作ることができますか。 また,bのみ引いてきて(4は変動するため)関数を作れますか。 例えば,固定したセル「a1」にbの文字が入っている場合  counta((a1)&4:ab4) このような方法を教えて下さい。

  • エクセル関数

    エクセルで 文字「あ」(セルA1)は数字の1(セルB1) 文字「い」(セルA2)は数字の2(セルB2) 文字「う」(セルA3)は数字の3(セルB3) といった具合に関数で変換したいのですが、 よい方法を教えてください。

  • エクセルの文字列検索でお知恵をお貸し下さい。

    エクセルのA1~A5セルに次のようなデータがあるとします。 1-01-0 1-01-1 2-01-11 10-111-0 100-1111-111 B1~B5セルに、これらのデータから以下のようなデータを検索・抽出する関数が分からずに困っています。 1-01 1-01 2-01 10-111 100-1111 つまり各セルの右側の"-"(ハイフン)より左にある、可変な全文字列をB列に抽出したいのです。 どうか宜しくお願いいたします。

  • エクセル関数について

    エクセルの関数式についてです。 ネットでもいろいろ検索してみたのですが、どうしても解決できません。 どなたかお分かりになる方、教えてください。 たとえば。。 [A1]のセルに、"(1)という文字列が含まれる場合は、[B11]のセルのコピーを、 "(2)"という文字列が含まれる場合は、[B12]のセルのコピーを、 "(3)"という文字列が含まれる場合は、[B13]のセルのコピーを表示させたいのです。 ちなみに、[B11],[B12],[B13]のセルには、SUM関数式が入っています。

専門家に質問してみよう