• ベストアンサー

エクセル2007を使用してタイムに応じたポイント表を作成しています。

エクセル2007を使用してタイムに応じたポイント表を作成しています。 1位のタイムを入力すると100Pでその後は1位のタイムから10秒以内の遅れが95P、20秒以内の遅れは90P、30秒遅れは85Pといった表を作成したいのですがどうしたらいいかご教授お願いします。 また、タイムを入力するセルはmm:SSと入力を行いたいです。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓の画像で説明させていただきます。 B列のセルの表示形式はユーザー定義から [m]:ss として、仮に 「49:59」(49分59秒)の場合は 0:49:59 と入力すればちゃんと表示されるはずです。 そして、右側に別表を作成しておきます。 今回は差が「○秒以下」という条件なので降順に表を作成します。 (○以上~△未満の範囲であれば昇順で表を作成します) 実際必要なのは水色部分だけですが、判りやすくするためにE・F列も表示させています。 そして、C2セルの数式を =IF(B2="","",IF(B2=MIN($B$2:$B$100),100,INDEX($H$2:$H$5,MATCH(SECOND(B2-MIN($B$2:$B$100)),$G$2:$G$5,-1)))) としてオートフィルで下へコピーすると画像のような感じになります。 尚、数式は100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてください。 余計なお世話かもしれませんが、トップから差が30秒を超えた場合は 「0」になるような表にしてみました。 以上、長々と書きましたが、参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

shoki623132
質問者

お礼

回答いただきました皆様ありがとうございました。 全て試してみましたがtom04さんの方法がイメージしたのと一番近かったのでベストアンサーとさせて頂きました。まだ、未完成で修正をしているところですがまた、何かありましたら色々とご教授ください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A1セルに氏名、B1セルにタイム入力セル、C1セルにポイントの文字列が入っており、A列とB列のデータは2行目から下方に並んでいるとします。 B列では0:49:50のように入力して表示形式でmm:ssのようにしているものとします。 そこでC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(B2=MIN(B:B),"100P",(100-ROUNDUP((B2-MIN(B:B)-"0:00:00.01")/"0:00:10"*1,0)*5)&"P")) この式では計算誤差を防ぐために0.01秒を考慮しています。なお、10秒以内とはもちろん10秒差についても95Pになるように考慮しています。

全文を見る
すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

時間を入力する範囲に対して MIN関数を使えば、一番小さい数字(時間)を検索できます  =MIN(A1:A100) など 比較したい値に対して計算したい値がどれだけ離れているかを算出すれば良いですよね 10秒以内で5ポイント引くのであれば、  =IF(A1-MIN(A1:A100)<"00:00:05",95,IF(~)) といった IF関数を使った計算式を使っても良いですが ここは数学的に処理することをお奨めしてみます  =100-INT((A1-MIN(A1:A100)+"00:00:09")/"00:00:10")*5 これで良いと思います  A1-MIN(A1:A1100) で、A1セルの値から範囲内の一番小さい数字を引くことで差を求めます この差を10秒で割ることで、10秒以内なら0、20秒以内なら1などと値付けされますので、 最も小さい入力単位が小数点を含まない秒である場合 9秒を加えても10秒以内なら1、20秒以内なら2…としています この加える 9秒は、最も小さい数値の場合、割り算部分で0が返るようにする意味も含んでいます 2番目に小さい数字は一番小さい数字より1秒以上大きいということですからね また、一番小さい数字より10秒【以内】であれば-5と言うことですので、これなら  INT((10+9)/10)=1 と、【以内】に対して値付けすることができます このように INT関数は、割ったときの余りを切り捨てています その数値を5倍して100から引けばよいでしょう 数式をコピーして使うのでしたら、はじめに入力した MIN関数の括弧内を絶対参照にすると良いでしょう  MIN($A$1:$A$100) 時間を入力するセルには  [mm]:ss と書式設定すると、60分以上の値を "1:00:00" などと時間単位が表示される場合に "60:00" と表示されます (入力は 0:60:00 と時間単位から入力してくださいね) なお、Excelではダブルクォーテーション(")で囲われた時間表記は、シリアル値として扱われるので そのまま計算に使用することができるので、数式を見やすくできます 前の人が答えられている MAX関数を使って、0以下にならないようにすることも検討しましょう (自分もそのことに気が付いていませんでした)

全文を見る
すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

C2の式は  =MAX(100-ROUNDUP((B2-MIN(B:B))*3600*24,-1)/10*5,0) になります。下方向にコピーしてください。 10秒遅れる毎に-10点になるようですが、最低点は0点になるようにしています。 なお >タイムを入力するセルはmm:SSと入力を行いたいです。 とのことですが、これは貼り付けた画像のE列、F列を見てください F2セルの式は  =MAX(100-ROUNDUP((E2-MIN(E:E))*60*24,-1)/10*5,0) になります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • タイムを入力するとそのタイムに応じたポイントが表示される対応表を作成し

    タイムを入力するとそのタイムに応じたポイントが表示される対応表を作成しています。 1位が100Pとし、その後は1位のタイムから10秒以内の遅れが95P、20秒以内の遅れは90P、30秒以内の遅れは85Pとし、1位のタイムから100秒以上の遅れからは全て50Pとした対応表(タイムとポイントは状況に応じて変更したいです)を作成したいのですがどうしたら分かりません。 タイムを入力するセルは入力が行いやすいようにmm:ss(分:秒)だけを入力して時間(h)の入力は省きたいと考えています。 なにかいい方法がありましたらご教授ください。宜しくお願いします。

  • エクセルの表をパワーポイントへの貼りつけについて

    エクセルで表をつくり、それを範囲選択し、パワーポイントへペーストするとセルの中の文字が欠けることがあります。 欠けることなく、きれいに貼りつける方法ってあるのでしょうか? エクセル、パワーポイント共に、バージョンは97です。 どうかご教授お願いいたします。

  • エクセルでの表作成

    エクセルで表を作成するとします。ある製品の番号、数量を入力します。その製品番号、数量を、他の表(シート)に反映させます。 ある製品の数量が0になったら、反映させた表から、その製品の番号が入力されているセルを削除、又は、数値が消えて、下のセルに入力された数値が上のセルに繰り上がって、表示される。 こんな事、出来ますか?

  • エクセルで1日のタイムラインスケジュールを作成したいのですが

    エクセルで1日のタイムラインスケジュールを作成したいのですが 例えば下記のような セルA1に会社のシフトコードを入力(AAやABなど)しそのコードが8時間労働の 10:00~18:00のシフトで10:00~18:00のセルに○などで記号をセルに反映する事は可能ですか? 実働時間を○でセルに反映させたいのですが。 ちなみにシフトコード表は事前に作成しコードを入力するとVLOOKUP関数で 時間などを抽出するなどはできます。 セルB1~横軸に30分刻みのタイムライン表を作成したいのですがどうもうまくいきません。 うまく説明できませんが逆に皆さんの技術でタイムラインスケジュールを作成するとしたら どのように作成しますか? 複雑でわかりにくいですがご回答よろしくお願いします。

  • Excelで表作成

    Excelで表作成時に同一セル内(左上角)に対角線を引いて、それぞれに文字列を入力する方法を教えてください。m(__)m

  • EXCELで、ランニングのタイムの計算をしたいのです

    excelで、ランニングの記録を入力して管理がしたいのですが、関数を教えてください。 たとえば、トラック周回ランニングのタイムが、1周目の通過3分30秒、2周目通過6分50秒だとします。 1周目の通過タイム3分30秒を入力、SPLITタイムつまり2周目の通過タイム10分20秒を入力するとLAPタイムつまり2周目だけのタイム3分20秒が表示される、という繰り返しのような表を作りたいのですが、関数がわかりません。もうひとつ、入力と表示ですが、できるだけ簡単な数字の列でできるといいのですが、どなたかご教授ください。

  • エクセルで表を作成しています。

    エクセルで表を作成しています。 500人に誰に、月に何枚配布したかの確認表を作成しています。 縦に五十音順の名簿、横に1月~12月を入力。 毎日渡した枚数をそれぞれのところに入力しています。 単月はオートフィルタから、空白セル以外を選ぶとわかるのですが。 半年の時点で誰に何枚渡しているか?を見る場合、どのようにすれば簡単にできるのでしょうか? どうぞよろしくお願いします。

  • エクセルでスケジュール表作成

    いつもお世話になっています。 エクセル(オフィスXP使用)でスケジュール表を作成しています。 日付は一番初めのセルに日付を入力すると自動的に日数が入力されるよう計算式を(隣のセル+1)で作成しています。1Pに月曜始まりで2週間分の日数が入っています。曜日は固定なのでWEEKDAY関数は使っていません。(直接曜日を入力しています)土日は網掛けをしています。 以上のスケジュール表で、自動的に祝日を判別し、セルの色を変えたいのですが方法はありますか?出来れば祝日の曜日欄には自動的に祝日と入るようにしたいのですが・・・。条件付書式などを組み合わせてなんとか1ヶ所入力すると全て自動で行えるように出来ないでしょうか?どの関数を組み合わせればよいか、もしくは別の方法(シートを別に作成し、祝日だけを入力すると、スケジュールのシートが自動的に変わったり・・・)など、ありましたら教えていただけると助かります。 宜しくお願いします。

  • エクセルで表作成をしています。

    エクセルで表作成をしています。 車の管理です。1台につき、シート1枚使用しています。たくさんのシート数なので。。。 車検の期間を入力しているセルがあります。 期限が切れているものをセルに色を変えたいのですが、いまいちやり方がわかりません(>_<) 誰かわかりやすく解説お願いします。 期限が切れているのは、そのエクセルを開いた日(当日)から1週間前くらいがBESTです。 お願いしますm( )m

  • エクセルでhh:mm:ssを計算したいです

    エクセルでhh:mm:ssを計算したいです 「0:11:39」と入力されているセルの値を 「0:00:06」(6秒)で割るには、 どのような数式を作成すれば良いでしょうか。 ※端数は切り上げたいです。 例えば上記の場合、値は以下となって欲しいです。 0:11:39÷0:00:06=117 すみませんが、どなたか教えて下さい。 よろしくお願い致します。

自動融資の返済方法
このQ&Aのポイント
  • 自動融資の返済方法について知りたいです。
  • 自動融資があり、入金したのですが返済されない状況です。
  • 常陽銀行のサービス・手続きに関してご質問があります。
回答を見る

専門家に質問してみよう