サブフォーとは?

フルマラソンで4時間00分00秒以内で完走することを、サブフォーという。
5時間以内でなんなくフルマラソンを完走できるようになった人の次の目標であり、足に乳酸がたまったり、故障したりして歩いてゴールすると到底達成できないようになっているタイムである。
フルマラソンを完走できない人から見ると、なんでそこまでって、思うだろうし、普通に足が止まることなくフルマラソンを完走できる人から見ると、多分、サブフォーってたいしたことのないタイムである。
中途半端なタイム設定でも、自分で各場所どのくらいで通過したらいいか把握できるように、ここへエクセルのワークシートと(様のもの)その説明をしようと思う。

 ABCDEHGF
1400     
20:28:260:56:531:25:191:53:452:22:122:50:383:19:053:47:31
3510152025303540


まず、セルA1、セルB1、セルC1はそれぞれフルマラソンのゴール時の時間、分、秒を入力する。
セルA3からセルH3は5キロごとの到達距離である。
セルA2からセルH2には数式が入っている。
セルA2に入っている数式は「=TIME($A$1,$B$1,$C$1)*5*COLUMN(A1)/42.195」である。
まず、TIME(あ,い,う)で、「あ」はゴール時の時間、「い」は分、「う」は秒である。
このTIME関数を使うことによって、60進数の計算を自動的に行えるようにする。
次に42.195で割ることによって、1キロ当たりの平均ペースを求めることが出来る。
次にTIME(あ,い,う)/42.195に5を掛けることによって、5キロごとの平均ペースを求める。
「=TIME(あ,い,う)*5/42.195」で完成で、B2以下はその掛け算でいいのだが、
列関数であるCOLUMNを使うことによって、A2の数式をB2からH2にコピーするだけで答えが表示できるようにしたものである。
ちなみに、A2からH2を選択して、「セルの書式設定」を表示して、「表示形式」のタブをクリック、「分類」をユーザー定義、「種類」のところに、「[h]:mm:ss」を打ち込んでやらないと、通過タイムが表示されない。
赤字の部分をコピーして、キーボードの「ALT」キーと「V」キーを同時に押すことで貼り付け可能となる。

次に似たようなエクセルの表を以下に表示する。

 ABCDEFGHI
1400 3    
20:28:260:57:441:27:281:57:302:27:452:58:113:28:463:59:294:13:02
3510152025303540フル


上の表は、4時間00分00秒で平均して走るつもりが、5キロごとに3%ずつタイムが遅くなったときの通過タイムである。
実際は、スタートから5キロまでは、ごちゃついて、時間がかかって、5キロから15キロまではさっきよりかなり早いラップタイムになって、15キロ以降、徐々にタイムが遅くなっていくのが素人なのだが、(サブフォーで走る人は、ゴール前、10キロから5キロのところから、かなり加速するらしいが)平均的に徐々にタイムが遅くなると仮定したタイムである。
もう分かると思うがセルE3に5キロごとに遅くなるタイムである。
セルA2にはさっきと同じ数式である。
セルB2の数式は「=A2/COLUMN(A1)*(COLUMN(B1)+$E$1/100)」となる。
「A2/COLUMN(A1)」の部分は左隣りのセルの5キロ平均のタイムを表している。
それを回数分と最後のみ、ここでは3%割増しにした数式である。
最後、セルI2はフルマラソン時のタイムである。
「H4/COLUMN(H1)*(COLUMN(H1)+2.195/5*(1+$E$1/100))」
要するに2.195の端数分を次5キロを走ると3%劣化する分を足したものである。

完成したエクセルをアップするので参考に色々と加工して欲しい。
↑上記リンク上で右クリックして保存するするとローカルに保存できます。

上の表とおなじものを1キロごとの通過タイムを出す方法が下記である。

 ABCDEFGHI
1400 3    
20:05:410:11:230:17:040:22:450:28:260:34:180:40:090:46:010:51:52
3123456789

JKLMNOPQR
         
0:57:441:03:411:09:371:15:341:21:311:27:281:33:281:39:291:45:29
101112131415161718

STUVWXYZAA
         
1:51:291:57:302:03:332:09:362:15:392:21:422:27:452:33:502:39:55
192021222324252627

ABACADAEAFAGAHAIAJ
         
2:46:012:52:062:58:113:04:183:10:253:16:323:22:393:28:463:34:55
282930313233343536

AKALAMANAOAPAQARAS
         
3:41:043:47:123:53:213:59:294:05:394:11:504:13:02  
373839404142フル  

セルA2の数式は「=TIME($A$1,$B$1,$C$1)*COLUMN(A1)/42.195」である。42.195キロの到達予想タイム(劣化前)の1キロ分を求めている。COLUMN(A1)は、左側に数式をコピーしたときに1列ごとに1加算されるようにしたものである。
この数式はセルE2までコピーする。
セルF2の数式は「=INDIRECT(ADDRESS(2,FLOOR(COLUMN(E1),5)))+INDIRECT(ADDRESS(2,FLOOR(COLUMN(E1),5)))/FLOOR(COLUMN(E1),5)*(MOD(COLUMN(E1),5)+1)*(1+$E$1/100)」である。
INDIRECT(ADDRESS(2,FLOOR(COLUMN(E1),5)))部分は、セルF2に対して同じ行に並んだセルの中で左に存在するものの中で5で割り切れるものの中でもっとも大きなセルの値を得るための数式である。ADDRESS関数とINDIRECT関数を使っているのは、列が増加する場合は「A1方式」では列を表す部分はAからZまでZ以上はAAからZZまでアルファベットが増加するので、一度ADDRESS関数により数値をセル番地に変換してやって、それをINDIRECT関数によって数式として認識させることによって目的の値を得られるようにしたものである。

「INDIRECT(ADDRESS(2,FLOOR(COLUMN(E1),5)))/FLOOR(COLUMN(E1),5)*(MOD(COLUMN(E1),5)+1)*(1+$E$1/100)」は5キロごとに速度が遅くなった分を反映した値を足したものである。「*(MOD(COLUMN(E1),5)+1)」の部分が今選択しているセルに対して左側にあるセルの中で列数が5で割り切れるものの最大のものより列数が大きいものが自身のセルを含めていくつあるかをあらわしたものである。「*(1+$E$1/100)」はタイムがいくら劣化するかを表したものである。

最後にセルAQ1は「INDIRECT(ADDRESS(2,FLOOR(COLUMN(AP1),5)))+INDIRECT(ADDRESS(2,FLOOR(COLUMN(AP1),5)))/FLOOR(COLUMN(AP1),5)*(MOD(COLUMN(AO1),5)+0.195+1)*(1+$E$1/100)」となる。上の数式とほとんど同じなので説明を省く。
そして、この三つの数式をまとめるとセルA2に「=IF(COLUMN(A1)<6,TIME($A$1,$B$1,$C$1)*COLUMN(A1)/42.195,IF(COLUMN(A1)=43,INDIRECT(ADDRESS(2,FLOOR(COLUMN(A1)-1,5)))+INDIRECT(ADDRESS(2,FLOOR(COLUMN(A1)-1,5)))/FLOOR(COLUMN(A1)-1,5)*(MOD(COLUMN(A1),5)-2+0.195+1)*(1+$E$1/100),INDIRECT(ADDRESS(2,FLOOR(COLUMN(A1)-1,5)))+INDIRECT(ADDRESS(2,FLOOR(COLUMN(A1)-1,5)))/FLOOR(COLUMN(A1)-1,5)*(MOD(COLUMN(A1)-1,5)+1)*(1+$E$1/100)))」と打ち込み、43列目のセルAQ2までコピーすれば終わりである。

完成したエクセルをアップするので参考に色々と加工して欲しい。
↑上記リンク上で右クリックして保存するするとローカルに保存できます。



実は上の数式は5キロごとにペースダウンした数式とは違っていた。より正確な数式については後日アップしようと思う。ちなみに上の数式の11列目のセルからが間違っている。ではでは再び期待せずに待っていてください。



まず、5キロラップごとに3%ずつペースダウンした場合のエクセル表を下記に表示する。

 ABCDEFGHI
1400 3    
20:28:260:57:441:27:541:58:592:30:593:03:573:37:554:12:544:28:42
3510152025303540フル


上の表を見てくれるとありがたいが、自分も含めての4時間半前後でゴールするランナーのラップタイムに特にセルD2以降似ているのではないだろうか?
セルA2は上の式と同じ。セルB2が「=A2+$A$2*((1+$E$1/100)^COLUMN(A1))」となる。上と偶然値が同じではあるが、これをセルC3以降コピーするとまるで違った値になってくる。右隣のセルと比べて「1+$E$1/100」ずつ、元のタイムから割り増しされているのが分かると思う。
この式を作る時、複数のセルを使って代入を繰り返し、式を整理したら出来たものなので、直感で作るのは無理だったので、こういうものになりますって、覚えるか、「=A2*(1+$E$1/100)」を右のセルへコピーしてそれを左から順番に足していったものを書式「[h]:mm:ss」で表示して、それから、代入を繰り返して、同じ数式になる様試みてください。

ちなみにセルA2の数式を「TIME(0,$A$1,$B$1)」としてセルA1に一番初めの5キロの目標のラップタイムの分、セルB1に同秒を入れて、劣化率をセルE1に入れてレースの予想ラップタイムを出すエクセル表を作ってもいいと思う。
劣化率3%の場合、始めの5キロを25分24秒で通過しないとゴールでサブフォーにならないことが分かる。
また、スタート時のごちゃつきを劣化率に含めないために「0から5キロ」と「5キロから10キロ」にたとえば「負荷時間」を別にもうけて足すのもいいかもしれない。(10キロ以降はだいたいばらけた状態でレースに臨めるので)

完成したエクセルをアップするので参考に色々と加工して欲しい。
↑上記リンク上で右クリックして保存するするとローカルに保存できます。


次に上の表の1キロごとの通過タイムを表示したものが下記である。

 ABCDEFGHI
140053    
20:05:410:11:230:17:040:22:450:28:260:34:180:40:090:46:010:51:52
3123456789

JKLMNOPQR
         
0:57:441:03:461:09:481:15:501:21:521:27:541:34:071:40:201:46:33
101112131415161718

STUVWXYZAA
         
1:52:461:58:592:05:232:11:472:18:112:24:352:30:592:37:352:44:11
192021222324252627

ABACADAEAFAGAHAIAJ
         
2:50:462:57:223:03:573:10:453:17:323:24:203:31:073:37:553:44:55
282930313233343536

AKALAMANAOAPAQARAS
         
3:51:543:58:544:05:544:12:544:20:064:27:184:28:42  
373839404142フル  


訂正する前の表の「4:13:02」と比べるとゴール予想タイムは「4:28:42」となり、15分40秒の開きが出てくることが分かると思う。
数式はセルA2は訂正前と同じ「=TIME($A$1,$B$1,$C$1)*COLUMN(A1)/42.195」である。これをセルE2までコピー、セルF2の数式は「=E2+$A$2*((1+$E$1/100)^(CEILING(COLUMN(A1)/5,1)))」で、セルAP2までコピーする。セルAQ2は「=AP2+$A$2*((1+$E$1/100)^(CEILING(COLUMN(AL1)/5,1)))*0.195」である。セルF2に入力されている数式の「*((1+$E$1/100)^(CEILING(COLUMN(A1)/5,1)))」の部分は5キロごとに「$E$1」%するラップタイムが劣化するための数式である。「(CEILING(COLUMN(A1)/5,1)))」の部分は乗数が5つのセルごとに変化するようにしたものである。
ちなみに、セルD1にはIF関数で数式を統一した時に任意のキロ数ごとにラップタイムが劣化するようにしたものである。
セルA2の数式は、「=IF(COLUMN(A1)<($D$1+1),IF(($D$1>42)*(COLUMN(A1)=43),TIME($A$1,$B$1,$C$1),TIME($A$1,$B$1,$C$1)*COLUMN(A1)/42.195),IF(COLUMN(A1)=43,INDIRECT(ADDRESS(2,(COLUMN(A1)-1)))+$A$2*((1+$E$1/100)^(CEILING((COLUMN(A1)-$D$1)/$D$1,1)))*0.195,INDIRECT(ADDRESS(2,(COLUMN(A1)-1)))+$A$2*((1+$E$1/100)^(CEILING((COLUMN(A1)-$D$1)/$D$1,1)))))」でセルAQ2までコピーするとそのまま使える。
ちなみに、3キロごと3%のラップタイム劣化率だとゴールタイムは「4:53:14」、10キロごと3%だと「4:12:01」になる。アップしてあるファイルのセルD1とセルE1もしくは劣化しない場合のタイムを入力するセルA1〜セルC1に数式を入力して色々といじってみてはいかがだろうか?

完成したエクセルをアップするので参考に色々と加工して欲しい。
↑上記リンク上で右クリックして保存するするとローカルに保存できます。

上のエクセル表を加工すると「ウルトラマラソン」や「ハーフ」「クォータ」「マイル」など、色々な距離区分での予想通過タイムや予想ラップタイム、ゴールタイムなどのエクセル表が作成できるので、色々とやってみてはどうだろうか?
ちなみに訂正後のエクセル表のIF関数で連結した数式「=IF(COLUMN(A1)<($D$1+1),IF(($D$1>42)*(COLUMN(A1)=43),TIME($A$1,$B$1,$C$1),TIME($A$1,$B$1,$C$1)*COLUMN(A1)/42.195),IF(COLUMN(A1)=43,INDIRECT(ADDRESS(2,(COLUMN(A1)-1)))+$A$2*((1+$E$1/100)^(CEILING((COLUMN(A1)-$D$1)/$D$1,1)))*0.195,INDIRECT(ADDRESS(2,(COLUMN(A1)-1)))+$A$2*((1+$E$1/100)^(CEILING((COLUMN(A1)-$D$1)/$D$1,1)))」の赤字で表示された部分はその数式が何行目にあるかで数値が(行目の数を入れる)変化するので注意して下さい。

上のエクセルファイルを加工してVECTORの製品版を作ってみた。
始めの指定した距離での時間入力と劣化率変化ポイントとを別にしたことと、ご操作防止のために、シートの保護をしたのと、リンクボタンの設置、それに対して問題となる「シート名変更」と「他のエクセルブックへの移動」を可能にしただけで「modified1k.xls」と変わるところはほとんどない。
問題点としては、B列以降から通過タイムの表示を可能にしようといろいろ頭で考えて、式を移動させようとしたが、式がつぶれてしまうことが分かりあきらめたことだ。
この部分が解消しないと、体裁をよくしようとA列以外からの通過タイムの設置が不可能になってしまう。
(横着せずに移動させた位置で代入する前の式を入れて、代入をすれば解決すると思う。予想として、INDIRECT関数とADDRESS関数を組み合わせて使っている部分の変更の仕方が間違っていると思う。理由は「modified1k.xls」のIF関数で統一する前の数式が移動した後も機能しているからである。)

ちなみに、リンク先はhttp://www.vector.co.jp/soft/win95/home/se453016.htmlである。



次にサブフォーの英訳である。ネットで「sub four」で出てこなかったため、教えてgooで質問してみた所、良回答を得られた。
nidonenさんから「 sub-four-hour 」とhourを付けるのが元々正しいとのこと。日本人が考え出した言葉じゃなくて、日本人が略して使っているだけみたいだ。
http://oshiete1.goo.ne.jp/qa3965536.html を詳しくは参照して欲しい。
ちなみに、その後、「 sub-four-hour 」で検索してみたら、生の英語で出てきた。
原文引用:
By Candace Scott


I've run many sub-four hour marathons and only discovered this book after the fact. I wish I'd had it while training for all those races, it might have helped. There's nothing fancy in here, and nothing you wouldn't find in various back issues of Runners World magazine. The standard, unvarying formular for running a marathon in under four hours is simple: run 20 miles a week for several months, then gradually increase your mileage to 40-50 miles a week. Start throwing in longer and longer runs one day of the week until you can run 20 miles at a stretch. Do this for 1 month, then taper off and run your marathon. I'm a firm believer in running 20 miles at least 3 times before marathon day. I know... many have done marathons on less training, but I've run enough of them to know that many people suffer (and I mean *really suffer.*) The whole point of running a marathon is not to just survive it, but to hae fun doing it and finish tired, but not completely done in. If you train adequately, you can, and will, finish a marathon and it probably won't be your last. Few things in life offer such satisfaction and sense of accomplishment.

One final word: the chapter on treadmill running was inadequate. Don't be put off by treadmill running, it replicates road running well enough if you put the treadmill at an incline of 3-4 percent. Good luck and happy running!

訳文:
Candace Scottさんから


私はこの本を手に入れただけでその後、何度もサブフォーでマラソンを完走しました。私は練習しながらこの本を活用したらあなたの助けになるんじゃないかなって思います。このamazon.comでもお気に入りの品はないだろうし、「Runners World magazine」に載ってるいろんなバックナンバー記事をあたっても見つからないんじゃないかと。4時間以内でマラソンを走るのに標準的な、不変の常套手段は簡単です。つまり、2,3ヶ月の間、週一で20マイル(32キロ)を走り、徐々に週一で40から50マイル(64キロから80キロ)まで距離を増やしていくことです。(訳者注:ある本によると30キロを越える距離を越えるランニングはそれまでのグリコーゲンだけの燃焼から脂肪の燃焼に変わるそうである。なので30キロ以下ばかりの練習だとフルマラソンを真の意味で完走するためには不十分である) 20マイル走れるようになるまで休まず週一で距離を伸ばすようにしたほうがいい。もし、月一だと、だんだんと先細りのタイムになってきますよ。 私はマラソンの日の前に少なくとも3回20マイルを走っておく必要があると固く信じている者です。 多くの人は練習量不十分でマラソンを走っていて、練習量を充実させようと苦労している、ってのは知っている、私は十分に走りこんでいるけど。 マラソンを走る醍醐味はただ走りきるためだけじゃない。しかし楽しんで走ってるだけじゃ飽きて(完全に疲れ切手しまうと意味以外で)やめてしまう。 あなたが十分に練習をすればマラソンを走りきることができ、それが最後のマラソンレースとはならないでしょう(=次につながるレースになっていくでしょう)。人生でほとんどない事柄は十分な満足と達成感を提供してくれるでしょう。

最後に一言。トレッドミル・ラニングの章が不十分でした。トレッドミル・ラニングは興味を失わせていいものではなく、3から4%の傾斜のあるトレッドミルがあるならば十分なロードで走りこみを繰り返すのが良い。(訳者注:坂を駆け上がるのはひざの負担を軽減して、足腰を鍛えるのに役立つそうである。また、下りをゆっくりと降りてきて休ませることによって、トラックでペースを早めたり、遅くしたりして練習する方法と同じ効果を得られる)それじゃぁ、ご検討を祈ります、良いランニングを!

訳注として、「最後に一言」以外は、自分勝手に自分の体験を書き連ねたって、「最後に一言」で「トレミッド・ラニング」に関するこの本への苦情とまたまた、自分の理論を書き連ねてあるって、文章であった。何はともあれ、サブフォーってのが米国でも重要な要素であるって、ことがこの文章を読んで分かったのが唯一の得たものである。
使用例:
I have just run a sub-four hour marathon.
私は今しがたサブフォーでマラソンを走りきった。
Absolutely, I will run a sub-four hour marathon next.
絶対、次はサブフォーでマラソンを走りきるつもりだ。
I have many sub-four hour marathons.
私は複数回マラソンを走りきったことがある。



等比級数の考え方を使う

教えてgoo!にて、http://oshiete1.goo.ne.jp/qa4024635.html等、質問していた。
debutさんの回答を見てもらえれば、いいと思うが、
等比級数は、Sn=(a-ar^n)/(1-r)で表すことが出来る。
これを反映した数式は、「=IF($F$1=0,TIME($B$1,$C$1,$D$1)/42.195*B$4,TIME($B$1,$C$1,$D$1)/42.195*$E$1*(100*((1+$F$1/100)^INT(B$4/$E$1)-1)/$F$1+((1+$F$1/100)^INT(B$4/$E$1))*MOD(B$4,$E$1)/$E$1))」となる。
B1、C1、D1は劣化前のフルマラソンでのゴールタイム、E1は劣化する距離間隔、F1は劣化率、B4は到達距離である。
オートフィルで移動させてもいいように必要なところ以外は「$」をつけて、絶対参照にしている。
また、劣化率が0の時はエラーが発生するので、if関数で、エラーを取り除く処理をしている。
「TIME($B$1,$C$1,$D$1)/42.195*$E$1*(100*((1+$F$1/100)^INT(B$4/$E$1)-1)/$F$1+((1+$F$1/100)^INT(B$4/$E$1))*MOD(B$4,$E$1)/$E$1))」
上の式の緑の部分が「劣化する距離間隔」できっちり割り切れるところ、赤の部分が端数の部分である。
この式のいいところは、「劣化する距離間隔」を0.4(すなわち、400メートル)とかにできることと、「到達距離」を1.6(1マイル)とか、ハーフとかにできることである。その劣化率のまま、走った場合、50キロとか、100キロとか、距離を伸ばしていっても、数式を変更することなく、使用できる点である。
改良しようと、3月くらい、試行錯誤して、うまくいかなかったので、現時点での一番、
いいエクセルファイルをアップする。