シート1のC列に↓のようなセルがあります。1つのセルに収まってます。
12レースまであります。1レース分だけ貼り付けました。
11/11(土) 3回 福島 7日目競馬新聞を見る
1R 未勝利
2歳 ○混□指(馬齢) 芝1800m 14頭 発走:9:50
本賞金:500、200、130、75、50万円
馬名性齢負担騎手
重量
アルナスライン牡255柴山雄一
エドノダンス牡255石橋脩
グラントリアノン牡255藤岡佑介
クリノオンディーヌ牝254武士沢友
サンキストゴールド牡255田嶋翔
タイセイディーバ牝253☆鮫島良太
チアズジョイ牡255中舘英二
バンブーソクラテス牡255佐藤哲三
フィジカル牡252▲千葉直人
プライドイズハート牡255福永祐一
マイネルグラナーテ牡255スボリッ
マイネルテアトロン牡252▲佐藤聖也
リキアイアチーブ牝254西田雄一
リュウシャルマン牝253☆吉田隼人
J3=IF(COUNTIF(C1,"*競馬"),LEFT(C1,2),J2)
これを↑こういうので
日付=11/11(土)
場所=福島
わけてJ列K列にそれぞれ表示させて↓までコピーしたいのです。
あと
レース数=1R
距離=芝1800m
頭数=14頭
レース名=未勝
以上の項目もそれぞれで1列ずつ使って分けて下までコピーしたいのですがどうすればよいでしょうか?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2046491
ここで質問して回答いただいたのと同じようなことをしたいのですが、やり方が分かりません。
各項目は半角で空いています。
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
補足拝見しました。
レース毎の行数は等間隔ではなく、各馬の横にもその馬の情報が出ていてほしいのですね。全部マクロの中に仕込んでしまいました。No.1の回答の手順で貼り付けたマクロを、以下のものに入れ替えてください。
Function GetInfo(R As Integer, S As String) As String
Dim CurrentInfo As Range, Info As Range
If Cells(R, 3) = "" Then
GetInfo = ""
Exit Function
End If
Set CurrentInfo = Range("C1")
For Each Info In Range("C1", Range("C65535").End(xlUp))
If Info.Value Like "*/*(*)*" Then
If Info.Row > R Then
Exit For
Else
Set CurrentInfo = Info
End If
End If
Next
Dim ItemList1, ItemList2, Itemlist3
ItemList1 = Split(CurrentInfo.Value, " ")
ItemList2 = Split(CurrentInfo.Offset(1, 0).Value, " ")
Itemlist3 = Split(CurrentInfo.Offset(2, 0).Value, " ")
Select Case S
Case "日付"
GetInfo = ItemList1(0)
Case "場所"
GetInfo = ItemList1(2)
Case "レース数"
GetInfo = ItemList2(0)
Case "距離"
GetInfo = Itemlist3(2)
Case "頭数"
GetInfo = Itemlist3(3)
Case "レース名"
GetInfo = ItemList2(1)
Case Else
GetInfo = "???"
End Select
End Function
そして、J1~O1に以下のように入力してください。
J1 =GetInfo(ROW(),"日付")
K1 =GetInfo(ROW(),"場所")
L1 =GetInfo(ROW(),"レース数")
M1 =GetInfo(ROW(),"距離")
N1 =GetInfo(ROW(),"頭数")
O1 =GetInfo(ROW(),"レース名")
そしてJ1からO1を選択し、そのまま下へコピーしてください。
これでうまくいかないでしょうか?
この回答への補足
ほとんどうまくいきました。ありがとうございます。
場所の項目だけおかしくなりました。
その部分は 福島 とかになったら正しいのですが、5回
とかになってしまいました。
訂正できましたらよろしくお願いします。
No.7
- 回答日時:
補足通知のメールを見てやっとわかりました。
このサイトでは連続する空白を勝手に1つにまとめて表示してしまうので、わかりませんでした。
11/18(土) 5回 東京 5日目
の11/18(土)と5回の間に、空白が2つあるのに、画面からコピーすると1つしかなかったので計算が狂ってしまっていました。
マクロの、
Case "場所"
GetInfo = ItemList1(2)
という箇所を、
GetInfo = ItemList1(3)
と変えてください。
その後、自動的には変更が反映されないので、K1を選択して下にコピーの作業を行ってください。場所に変わるはずです。
No.6
- 回答日時:
> 場所の項目だけおかしくなりました。
> その部分は 福島 とかになったら正しいのですが、5回
> とかになってしまいました。
あれ、私のところではちゃんと表示されたのですが…。
各レース情報の1行目の、空白で区切られた3つめの項目、として取りだしているのですが。念のため、何レース分か最初の3行だけ貼り付けていただけないでしょうか。
この回答への補足
11/18(土) 5回 東京 5日目
1R 未勝利
2歳 ○混□指(馬齢) ダ1400m 16頭 発走:9:50
11/19(日) 6回 京都 6日目
5R 新馬
2歳 ○混□指(馬齢) 芝2000m 12頭 発走:12:20
11/19(日) 6回 京都 6日目
11R マイルCS(G1)
3歳上 ○国際○指(定量) 芝1600m 18頭 発走:15:40
↑最初の三行貼り付けました。よろしくお願いします。
K列は全部 5回 とか 6回
と表示されてしまってます。
No.4
- 回答日時:
No.1です。
補足拝見しました。> 11/18(土) 5回 東京 5日目
> 2R 未勝利
> 2歳 □指(馬齢) 芝1400m 13頭 発走:10:20
> ↑この部分がまたC25~C27にあるという感じで12レース分まで続いています。
ということは、各レースの情報が24行おきに入っていると考えてよろしいでしょうか。その次はC49~C51、またその次はC72~C73というように、12レース分あるということですか?
そして、最初のレースの情報をJ1、K1~に表示するとして、それ以降のレースの情報は連続してJ2、K2~、J3、K3~、最後はJ12、K12~に表示するのでしょうか。それとも次の2レース目はJ25、K25~に表示するのでしょうか。
以上、補足をお願いします。
この回答への補足
24行おきというかその間は馬名が入ってるので頭数によって何行おきかは変わります。
馬名のすぐ横にレース条件
日付=11/11(土)
場所=福島
レース数=1R
距離=芝1800m
頭数=14頭
レース名=未勝
以上の項目を持ってきたいのです。
レース条件をつねにそのレースに出る馬の横に持ってきたいのです。
レースが変わるとピッタリレース条件も変わって馬名の横に持ってきたいのです。
ですので、馬名の横のJ~Oの6つのセルには常にそのレースのレース条件が出てる状態にしたいのです。
そんな感じで何行あってもコピーして問題なくできるようにしたいのです。
よろしくお願いします。
No.3
- 回答日時:
察するに要は1セル内に空白区切りで入っているデータを空白ごとに分断し
そのセル及び左側に振り分けたい
という事でしょうか?
エクセルですよね
特に関数に拘らず結果のみで良いなら
振り分けたい元データの入っているセル列範囲を全て選び
上のデータプルダウンメニューから「区切り位置」を選び
現れた「区切り位置指定ウイザード 1/3」のウインドウを右下のボタンで次へ
つぎに現れた「区切り位置指定ウイザード 2/3」のウインドウ上段中程にある「区切り文字」の所にある「スペース」の左をクリックしてチェックを入れ
そのまま右下の「完了」ボタンで終了させてください
その後今データを振り分けたセル郡の更に右の上隅から順に
1行だけに必要な追加データを追記し必要分だけ下へコピーしていけば良いと思います
もし関数での自動化が必要なら仰って頂ければ
暇なときでよければ頑張ってみますが
このフォーマットだとセルの比喩的表現で
「今、自分が何レース目のデータを表示するべきなのか?」
を割り出すだけでちょっとした長さになってしまいます
で、この情報は恐らく1つの構文中何回も使います
しかしこの情報は予備資料でしかないので
当然他の本来主眼となる情報も割り出さないといけないので
かなりの長さの構文となりそうです
競馬というのはほぼ毎日やっているのですよね?
1レース16頭立てとして一日12レースですから
ほぼ1年で1シート(65535行×7cell)埋まってしまいます
結構挙動が鈍重になるかも知れませよ?
あとエクセルは与えられていない情報を割り出すのはほぼ無理です
なので貴方がレース数・距離・頭数・レース名等の情報を知っていても
それはエクセルに教えてあげないと
当然エクセルは分りません
まあエクセルでなくとも他人が何を見ているかなんて判らないでしょうけどね (~ ~;)ヾ
この点は式だけではどうにもならなさそうですね
何処かのサイトに載っている情報から引っ張ってきても良いですが
エクセルは外部ファイルを参照させるとかなり鈍重になりますからこれもお勧めできません
以上のことを踏まえて
・フォーマットを変更する
・一部手入力する
・鈍重でも良いから自動化する(暇なときでよければ要望頂ければ関数式は考えますよ)
・第4案を模索する
の中から一度再考頂ければと思います
No.2
- 回答日時:
No.1です。
補足拝見しました。11/11(土) 3回 福島 7日目 競馬新聞を見る
1R 未勝利
2歳 ○混□指(馬齢) 芝1800m 14頭 発走:9:50
は、C1にこの順番で同じセルに入っているのですよね?その認識で書いたはずなのですが…。
どのようにうまくいかなかったのか、状況を教えていただけると、またアドバイスできるかもしれません。(○○というエラーメッセージが出たとか、何も表示されないとか、表示はされたが全然違う項目が出た、などなど)
この回答への補足
すいません。質問の段階で間違ってました。
C1に
11/11(土) 3回 福島 7日目 競馬新聞を見る
1R 未勝利
2歳 ○混□指(馬齢) 芝1800m 14頭 発走:9:50
↑これが全部入っているのじゃなくて
正しくは
11/11(土) 3回 福島 7日目 競馬新聞を見る
この部分がC1
1R 未勝利
この部分がC2
2歳 ○混□指(馬齢) 芝1800m 14頭 発走:9:50
この部分がC3
でした。
11/18(土) 5回 東京 5日目
2R 未勝利
2歳 □指(馬齢) 芝1400m 13頭 発走:10:20
↑この部分がまたC25~C27にあるという感じで12レース分まで続いています。
よろしくお願いします。
No.1
- 回答日時:
各項目が半角スペース区切りで、並び順が決まっているのなら、ユーザ定義関数を作って任意の項目を取りだした方が早いですね。
【手順】
1.Excelの画面からAlt+F11キーを押して、マクロの入力画面を出します。
2.その画面のメニューから「挿入」>「標準モジュール」を選択します。
3.右の入力画面に、以下のマクロをコピーして貼り付けます。
Function GetInfo(S As String, N As Integer)
Dim ItemList As Variant
ItemList = Split(S, " ")
GetInfo = ItemList(N - 1)
End Function
4.Excelの画面に戻り、J1~O1まで以下の通りに入力します。
J1 =GetInfo(C1,1)
K1 =GetInfo(C1,3)
L1 =GetInfo(C1,6)
M1 =GetInfo(C1,10)
N1 =GetInfo(C1,11)
O1 =GetInfo(C1,7)
この後、このファイルを開くときに「このファイルにはマクロが…」というメッセージが出てくるかもしれませんが、そのときは「マクロを有効にする」をボタンを押してください。
この回答への補足
2歳 ○混□指(馬齢) 芝1800m 14頭 発走:9:50
この部分と
1R 未勝利
この部分と
11/11(土) 3回 福島 7日目
は1つのセルに収まっています。
後、C列に馬名がくるようにしたいのでA列とB列は空けてあります。
教えてもらったのをやったのですが、うまくいきませんでした。
なにが間違ってるんでしょうか…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 競馬 競馬初心者です 2 2022/05/30 14:38
- 競馬 去勢した競走馬が早く強くなると、馬主はジレンマですか? 種牡馬になれないから 4 2023/04/21 07:24
- 生物学 牡蠣が居なくなった?? 祖父母の家が瀬戸内海沿いにあります。 子供の頃はよく、海岸の岩についた牡蠣を 6 2022/07/24 01:24
- 食中毒・ノロウイルス この方法でどのようにしてバレるのでしょうか?? 3 2022/07/16 18:26
- 競馬 社台系や金子氏の馬が登場するゲームってありますか? 1 2022/11/15 10:58
- 食べ物・食材 牡蠣にあたった時の対処法について 土曜日に寿司を食べ炙り牡蠣の握りを 主人が四貫食べました。 一日た 5 2023/02/06 13:24
- 野球 高校野球の話 1 2022/08/18 09:54
- その他(ニュース・社会制度・災害) 岸田首相は広島サミットで各国首脳にお好み焼きを振る舞ったそうですが... 4 2023/05/19 23:03
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- 東北 東北地方に旅行計画です。旅行好きな方、教えてください 5 2022/09/18 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
競馬はなぜ一日12レースなん...
-
GI馬ってGIレース出走馬?
-
JRAの過去レースビデオ保存する...
-
ボートレースは20歳からですよ...
-
競馬の J G1って何ですか? 普...
-
競馬の予想ファクター 「前走...
-
GIと普通の競馬の違い
-
Gレース結果 解説サイトってあ...
-
1985年以前の競馬レース結果を...
-
競馬の12レースに意味があるのか?
-
日本で最大のレースは何?
-
フジTVの「スーパー競馬」のメ...
-
東京競馬場(府中)の第一レー...
-
29日の新馬戦の出馬表。
-
15:01発走の理由
-
宝塚記念はいつからGI格の大レ...
-
G1以外でメインレースの出馬...
-
JRAの1レースの売り上げが見れ...
-
競馬の通過順位について
-
3月20日の戸田競艇。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
競馬の J G1って何ですか? 普...
-
競馬はなぜ一日12レースなん...
-
GI馬ってGIレース出走馬?
-
15:01発走の理由
-
JRAの過去レースビデオ保存する...
-
ボートレースは20歳からですよ...
-
圧倒的1番人気馬がいるレースで...
-
JRAの1レースの売り上げが見れ...
-
競馬用語 ただもらいについて
-
三連単はいつ始まったのですか?
-
G1とは
-
競馬の出馬頭数とゲート。
-
なぜ?ジャンプレースの斤量
-
日本で最大のレースは何?
-
東京競馬場の入場料
-
障害レースについて
-
中央競馬の仕組みを初心者にも...
-
競馬を引退する理由が、もう予...
-
GIと普通の競馬の違い
-
JRA I-PAT内の出馬表を連続印...
おすすめ情報