アプリ版:「スタンプのみでお礼する」機能のリリースについて

陸上記録会などの100m競争等で、ミリ秒まで入力したセルからミリ秒だけ取り出す方法を知っている方、教えてください。
例 13.09(書式はss.00) から 09だけを取り出す

さらに、秒とミリ秒を入力しているセルの値をTIME関数のように一つのセルにまとめる方法をご存知の方、教えてください。
例 A1 B1 C1
  13 09 13.09

A 回答 (6件)

1)


13.09がA1に入力されているとして
=RIGHT(TEXT(A1,"ss.00"),2)
2)
=A1/24/60/60+B1/24/60/60/100

でいかがでしょうか。
    • good
    • 6
この回答へのお礼

ありがとうございます。
この方法が簡単なようです。
ちなみにこのようなことをお聞きした背景は、
陸上記録会で順位を出したり平均を出したりしたかったんですが、
(その他、平均との差とかいろいろもろもろ)
時刻をコロン(:)や小数点を入力するのが面倒なので、分けたセルに入力してシリアル値に変換したかったんですが、TIME関数ではうまくいきませんでした。
しょうがないので面倒でもコロンで区切りながら入力しました。
(秒しか入れないのに0:0:と必ず入れるのが面倒でしたが)
しかし、今度は印刷するときに13秒09と表示してほしいといわれたのです。しかも桁をそろえてです。(表示形式の変更ではいろいろ面倒がありました)
そこで、A1に秒、B1に"秒"、C1にミリ秒を分けて表示しようとしたのです。
ところが、ミリ秒を取り出す関数がわからなかったのでこのような質問をしました。
ついでに、最初から分けていれて、シリアル値に変換できればと思い、2つの質問をしたわけです。
皆さん混乱したみたいですみません。
でもいろいろ勉強になりました。ありがとうございます。
ところで
TIMEVALUE("0:0:"&A1&"."&TEXT(B1,"00"))
としたらミリ秒も返しました。(A1には秒、B1にはミリ秒が入っています)

お礼日時:2002/10/10 21:11

こんにちは。

maruru01です。

入力したデータをどのように使うのでしょうか。
並べ替えや、平均値、MAX、MIN程度なら、別に時刻のシリアル値を考える必要はないですよね。
単純に、記録欄に、
「10.09」
と数値で入力して、秒のつもりで考えればいいだけだと思いますが。
また、「10.09」のように入力するのはそんなに手間ではないですよね。
テンキーがあれば、同じ場所に「.」もあるし。
もし、秒とミリ秒を別のセルに入力するなら
A1に10、B1に09として、

=A1+B1/100

でいけます。
    • good
    • 1
この回答へのお礼

ありがとうございます。
シリアル値に変換する必要性はおっしゃる通りです。
順位などを簡単につけたかったんです。

お礼日時:2002/10/10 21:13

#2のものです。

お礼の部分を読ませていただきました。
私の説明の真意が伝わっていないと思いました。質問者の
レベルが判らず、基礎的なことを書きすぎたかと反省して
います。
真意は
(1)ご希望のような関数(TIME,SECONDの
ような)はない(また必要がない)と言うことを言ってます。
(2)その代わり、「=何々」の式で秒以下の(1/100秒等)が(時刻値として!)取り出せると言うことを言っています。
(3)それは勿論書式との連携の必要があります。
(4)それには値を13秒09の場合は=0.000151505に
   持って行く必要があり、秒09の場合はその9/1   00の値にすれば良いと言うことを言っています。
(5)質問では、入力済みの列データが時刻値なのかよくわかりませんでした。分,秒,1/100秒を別列で分けているのでしょうか。すると各列は標準・数値の扱い
だと思うので、時刻データにするなら1/100列の数に
(数字文字列ならVALUE()の後で)1秒の0.000011574074の1/100に掛ける、すなわち例えばG1セルに=F1*前出定数のようにすれば1/100部分を分離したことになりますと言いたいのです。
(広い意味では=A1*(定数)も関数式と言わないでしょうか?ただ自信なし)
(6)見た目は書式標準・数値でも文字列でも何ら差し障りはないと思う。(この場合の1/100以下の分離は簡単です。)
時刻値にするメリットは計算ぐらいと思うが、平均を出す加算にぐらいしか使えないのではと思う。
別列に1/100秒部分が分かれているなら、なぜ質問がでるのか良く理解で来てません。
    • good
    • 1
この回答へのお礼

重ね重ね、回答いただきありがとうございます。
ただ、何となく意味はわかるのですが、私には複雑すぎてちょっとためらいました。

分けていれたかったのは、「0:0:」を毎回入力したくなかったのです。
分けたデータをシリアル値に変換しようとしたのは、陸上記録会の平均や順位をすぐに出したかったのです。
しかし、うまくいかず、結局、シリアル値で入力しました。

お礼日時:2002/10/10 21:20

#1です。


気づくのに2時間かかりました。
ワタシの方法では
>13.09(書式はss.00)
を扱うことは出来ませんね。「13.09(書式はss.00←ミリ秒ならss.000ですよね?)」を整数の「13.09」に変換する必要が出てきます。
失礼しました。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
陸上記録会ということで、秒以下の数値のことを言いたかったのですが、あれはミリ秒ではないのでしょうか?(すみません。他に表現がわからないのでミリ秒で通します)
仮に、簡単にミリ秒も含めたシリアル値に変換する関数やミリ秒だけを取り出す関数がないなら、どのようにユーザー関数を作ればいいのでしょうか?
もし、わかりましたら教えていただければと思います。

お礼日時:2002/10/10 06:40

1.エクセルでは時刻はあるが、時間の観念が取り上げられていないから、時刻で置き換えて考える。


2.時刻の入力の標準は
 (1):を使う
 (2):を2つ中にいれて03:1:3とかいれて
    3時間1分3秒を示す。
    秒以下は重要視されていない。 
 (3)10秒は00:00:10のように入力しないとなら    ない。
 (4)13秒19を00:00:13:19とか
     13:19とか00:00:13:19とかは
     入力できない。
 (5)したがって便宜的に数値として13.09とか入力せ    ざるをえない。
    質問のs.00で書式設定は(この段階では)あり得ないのでは。(ss.00が後出) 
3.時刻の値について
 (1)時刻を数値で見ると(というかエクセルは時刻を
    日付と同様、数値で表している)0時が0、24
    時が1.0で表す。
    したがって1秒は=1/(24*60*60)である。すなわち
    0.000011574074・・・である。
    1/100秒は0.00000011574・・で
    ある。秒09はその9倍である。
 (2)したがって13秒09は1.26157E-05となるから
    この値をセットしないとならない。
 (3)そしてセル-書式をユーザー定義とし
    hh:mm:ss.00(点00に注意)の書式にしないとならな    い。
4.13秒09(数値13.09)を数値にする方法
    A1は13.09として 
  =INT(A1)/(24*60*60)+
     (A1-INT(A1))*100/(24*60      *60*100)
    =A1/(24*60*60)
    =0.000151505です。
   書式をhh:mm:ss.00とすると0:00:13.09と(言う表現に   )なります。
0:00が邪魔ですので、ss.00とすると13.09
  となります。 
数値(標準)の13.09は13.09、時刻の書式ss.00の13.09は0.000151505なんです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。質問の仕方が悪かったようです。
入力は、00:00:13.09で入力してます。
また、ミリ秒と表現したのは他に表現方法がわからなかったからです。
あくまでも陸上記録会のストップウォッチなので、13秒ゼロキュウのような表示になります。(あれってミリ秒ではないのでしょうか?)
私は、時刻や日付はスラッシュやコロンで区切って入力するのが面倒なので
セルに時、分、秒とかを分けて入力して、TIME関数とかでシリアル値に変換しています。
ところが、TIME関数では戻り値がミリ秒を返しません。
そこで、ミリ秒も返す関数がないかと思いました。
また、逆にシリアル値からSECOND関数のように秒を取り出す関数がありますが、
ミリ秒を取り出す関数がないかと思ったしだいです。
おわかりいただけるでしょうか?
よろしくお願いいたします。

お礼日時:2002/10/10 06:36

最初のは、まず整数にしてから、100で割った余りが解になりますよね。

「=MOD(A1*100,100)」

後のも考え方は同じで
「=A1+B1/100」でよいのでは?
    • good
    • 0

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