• ベストアンサー

25分13秒05 を 1513秒 と表示させたい

数百件分を秒換算しなくてはなりません。 良い方法はありますか?

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

  • ベストアンサー
  • mythism
  • ベストアンサー率52% (45/86)
回答No.8

#3です。 解決、おめでとうございます。 ええと、FIND("分",A1) は 「"分"という文字はA1のセルの文字列の何文字目にあるか」 ということを意味します。 VALUEは、文字列を数値に変換するための処理で、全角で入力していた場合に、数値として計算可能にするための変換です。実際には、Excelでは全角の数値でも普通に計算してくれるので、あまり意味はないのですが、つい、いつもの癖で入れてしまいました。 「LEFT(A1,B1-1)」はA1のセルの文字列の左から(B1-1)文字分を取り出すという意味で、 「MID(A1,B1+1,C1-B1-1)」はA1のセルの文字列の左から(B1+1)文字目から、(C1-B1-1)文字分だけ取り出すという意味です。

noname#8038
質問者

お礼

ご回答ありがとうございます。度々スミマセン。 とっても丁寧に解説頂いたお陰で、こんな私にも理解することが出来ました。 嬉しいっ(>_<) 応用できるようになると良いなぁ~。頑張るぞ!

その他の回答 (9)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.10

エクセルは時刻を数値値として持っています(ここがミソ)。 一日24時間を1とします。1時間は1/24=0.04166666・・です。逆に数値の積もりで0.04166・・とセルにいれ、表示形式を時刻にすると1:00になります。分は1/(24*60)=0.000694444です。 一秒は1/(24*60*60)=0.0000115740741 です。だから今の値を1/(24*60*60)で割れば 秒数が出ます。 例えばA1に0:25:13と入れ、B1に=A1/(1/(24*60*60))を入れると、1513(表示形式を数値にすること)となります。以上の内容のことを、表示形式を[ss]にするとエクセルがやってくれて、そのセルに表示してくれると言うことです。このカラクリを知りましょう。

noname#8038
質問者

お礼

常々疑問に思っていましたが、そう云うカラクリだったんですか! このことを理解しておけば、今回の問題も自分で解決できたかもしれません。 (でもやっぱり私じゃ出来なかったかもw) 今後は幅が広がりそうです。ありがとうございました。

回答No.9

> 90785秒 となっちゃうんですよ それは「0:25:13.05」または「25:13.05」とするべきところを間違え て「25:13:05」とした場合の数値ですね。

noname#8038
質問者

お礼

あらやだ。私のうっかりが原因でした(^-^;) ご指摘ありがとうございました。

  • esprei
  • ベストアンサー率56% (718/1271)
回答No.7

セルの書式設定を出して、表示形式のタブを開き、分類からユーザー定義を選択します。 で、ユーザー定義を [ss] と入力してOKします。 これでセルに入力している時間が秒で、表示してくれます。 こういう事じゃないんですか?

noname#8038
質問者

お礼

ありがとうございます。 そうすると 90785秒 となっちゃうんですよ。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.6

入力を変更する場合は、 入力を0:25:13.05になおして表示形式を[ss]秒 入力を現状のままなら、隣のセルに =TIMEVALUE(SUBSTITUTE(SUBSTITUTE(A1,"分",":"),"秒",".")) で表示形式が[ss]秒 または =TIMEVALUE(SUBSTITUTE(SUBSTITUTE(E8,"分",":"),"秒","."))/"0:0:1" で表示形式が 0秒 でも可能です。 TIMEVALUEは時刻形式の文字列を数値に変換する関数 SUBSTITUTEは置換の関数 /"0:0:1"は時刻形式の数値を秒数(整数)にする設定です。 分の場合は/"0:1:0"、時間の場合は/"1:0:0"で変換できます。

noname#8038
質問者

お礼

ご回答ありがとうございます。 聞き返すまでもなく、関数の解説付きだなんて! 感激です(T_T)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

No.1です。 文字列で「25分13秒05」と入力しているなら、以下の数式で出来ます。 A1に「25分13秒05」と入力されているとすると、 =TEXT(SUBSTITUTE(SUBSTITUTE(A1,"分",":"),"秒","."),"[ss]秒")

noname#8038
質問者

お礼

お手間取らせてしまって、本当にごめんなさい。 わぉ!なんて簡単なんでしょう。驚きです。 お陰様ではかどります。ありがとうございました。

回答No.4

No1の方がかかれたように、もしセルを選択して、数式バーの内容を見てみて「0:25:13」のような形式になっていれば、セルの書式設定でユーザー定義→ [ss]"秒" にしてみてください。 秒表示になります。

noname#8038
質問者

お礼

ご回答ありがとうございます。 90785秒になっちゃいました。あれぇ(?_?)

  • mythism
  • ベストアンサー率52% (45/86)
回答No.3

Excelが使えるのであれば、Excelを使用する方法が簡単です。 まず、セルA1に「25分13秒05」を入れます。 セルB1に「=FIND("分",A1)」 セルC1に「=FIND("秒",A1)」 セルD1に「=VALUE(LEFT(A1,B1-1))*60+VALUE(MID(A1,B1+1,C1-B1-1))&"秒"」 と入力すれば、セルD1に1513秒と表示されます。 あとは、変換元をA2、A3、A4…にコピーして、 セルB1~セルD1をB2~D2以降にまとめてコピーすれば 一気に変換できます。 桁数が同一の場合には#2さんの方法で十分とおもわれますが、「分」の部分が3桁以上あるかもしれないのでしたら、こちらの方法をお勧めします。

noname#8038
質問者

お礼

わぁわぁ!出来ました!ありがとうございますm(_ _)m お手数ですが、それぞれの関数の役割を教えていただけますでしょうか。 「条件に当てはまる文字の位置を返す」等となっていますが、それでは 理解できないもので(^-^;)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

対象のアプリケーションをExcelと仮定します。 25分13秒05 がA1セルに文字列として設定されているとして、 MID(A1,1,2)で"25"の文字列が取得できます。 MID(A1,4,2)で"13"の文字列が取得できます。 B1セルに =(VALUE(MID(A1,1,2))*60+VALUE(MID(A1,4,2)))&"秒" とすると、"1513秒"の文字列が得られます。

noname#8038
質問者

お礼

本当だ本当だ!ありがとうございます(;_;) ところで MID(A1,1,2) が示している「A1」は参照先セルのことですよね。 カンマで区切っている「1」と「2」は、何を指しているのか教えていただけますでしょうか。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 OSとアプリケーションは明記しましょう。 (アプリケーションのバージョンも) (質問文を読み返して、赤の他人に通じるかどうか考えてみましょう。) おそらくExcelと思いますが、データはどのように入力されていますか? 「25分13秒05」という文字列が直接入力されていますか? それとも、「0:25:13.05」と入力して、セルの表示形式で 「25分13秒05」となっていますか? セルを選択して、数式バーの内容を見てみて下さい。 「0:25:13」のような表示になっていますか? もしなっておらず、セルの表示とまったく同じになっていたら、 セルには文字列として入力されているので、結構複雑な数式を使用することになります。 状況をもっと詳細に説明して下さい。

noname#8038
質問者

お礼

ご回答ありがとうございます。 あ~ん!スミマセンでした(>_<) 表示形式は標準で「25分13秒05」と入力してあります。 「0:25:13」に直すのは簡単なので、こちらの方が都合が良ければ その方法を教えて下さい。

noname#8038
質問者

補足

OS:Windows XP アプリケーション:Excel2003