• ベストアンサー

123:34:56 から 123、34、56を抽出

セル A2 に時刻表示形式で「123:34:56」という数値があったとき、 式 =TEXT(A2,"[h]") で 123 なる数字を、 式 =TEXT(A2,"s")  で 34 なる数字を、 それぞれ簡単に求めることができますが、 34 なる数字あるいは数値を求める最も簡単な式を教えてください。

  • msMike
  • お礼率71% (507/712)

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8018/17137)
回答No.1

例えばこれ =RIGHT(TEXT(A2,"hm"),2)

msMike
質問者

お礼

なるほど、h を付けておく手がありましたね。 でも、=MINUTE(A1) あるいは =MINUTE(A1)&"" の方が短くできますね。 ありがとうございました。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>式 =TEXT(A2,"[h]") で 123 なる数字を、 文字データとして123が代入されます。 数値に置き換えるときはVALUE関数を使うか、0を加減算または1を乗算すれば良いでしょう。 >式 =TEXT(A2,"s")  で 34 なる数字を、 これは秒の56が文字列で代入されます。 >34 なる数字あるいは数値を求める最も簡単な式を教えてください。 34は分なので"m"を使いたいのですが月の"m"に先取りされて分には使えないようです。 代わりにMINUTE関数で数値にすればよいでしょう。 =MINUTE(A2) 文字列に置き換えるにはTEXT関数で文字列化するか、&演算子で""を連結すれば良いでしょう。 =TEXT(MINUTE(A2),"0") =MINUTE(A2)&"" 蛇足ですが123時間は5日と3時間になりますので時間数(数値の123)で捉えるときはINT関数がお勧めです。 =INT(A2*24) 尚、他の回答者から提示の次の数式には誤りがあります。 =INT(MOD(A2*144,60)) =INT(MOD(A2*24*60,60)) → =INT(MOD(A2*1440,60))

msMike
質問者

お礼

ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

>式 =TEXT(A2,"s")  で 34 なる数字を、 56ですよね。 >34 なる数字あるいは数値を求める最も簡単な式を教えてください。 分を求めるのなら、簡単な順で =MINUTE(A2) =TEXT(A2,"m") =INT(MOD(A2*144,60))

msMike
質問者

お礼

コメント、ありがとうございました。 》 56ですよね。 式 =TEXT(A2,"s") は仰るとおりでした。 》 =TEXT(A2,"m") 》 =INT(MOD(A2*144,60)) やってみましたが、「分」は求まりませんでした。 前者の「m」は「month」と見做されるようで。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

こんな感じで 時間:=INT(A2*24) 分:=MINUTE(A2) 秒:=SECOND(A2)

msMike
質問者

お礼

》 時間:=INT(A2*24) 此れは思い付きませんでした. ありがとうございました。

関連するQ&A

  • エクセル セルの表示形式「文字列」だけを抽出したい

    エクセル2007を使用しています。 A列に数字が入力されていますが、そのセルの表示形式は、「標準」「数値」「文字列」とバラバラです。 この「文字列」のセルだけを抽出したいのです。 例えば、関数などを利用して、B列に表示するなど。 よろしくお願いします。

  • [エクセル2003] 条件付き書式の色変化がうまくいかない

    数字入力で重複があった場合フォントの色を変えるようにしたいのですが、その入力する数字は0から始まるものもあるので、セルの表示形式を文字列にしている状態です。 それで入力する各セル(A1:A10)の条件付き書式に(例:A1部) =COUNTIF($A$1:$A$10,A1)>=2 と書きました。 すると初めの数字だけ色が変わるようになってしまいました(012の場合0だけ)。セルの表示形式を数値にすると色はうまくいくのですが、0からの数値の場合0の表示が消えるので、なにかうまくいく方法はないでしょうか?

  • 同一セル内で大きい方の数字のみ抽出する関数について

    エクセルの同一セル内で大きい方の数字のみ抽出する方法がわからず困っております。 1つのセルには下記の2行のような情報が含まれます。 -------------------------------------- (A1セル) 189,815円 (税込 205,000 円) 送料込 (A1セル)中古品 ¥ 138,000より -------------------------------------- (A1セル) 189,815円 (税込 205,000 円) 送料込 の場合、 下記関数にて税込の金額が正しく表示されますが、 (A1セル)中古品 ¥ 138,000より を入力した場合正しく表示されません。 =TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),99*3-99,99))*1 (A1セル)中古品 ¥ 138,000より の場合、下記関数にて正しく表示されますが、 (A1セル) 189,815円 (税込 205,000 円) 送料込 の場合、正しく表示されません。 =LOOKUP(10^10,MID(A1,MATCH(0,INDEX(0/MID(A1,COLUMN(1:1),1),),),COLUMN(1:1))*1) 両方の形式に対応する関数を教えて頂けましたら幸いです。 要は、文字と数字が同一セル内に混同する場合、数値のみを抽出するが、 その際に大きい方の数値のみを抽出するということです。 どうかご存知の方がいらっしゃいましたら、お知恵をお貸し頂きたく、何卒、宜しくお願い申し上げます。

  • 0から始まるセルの表記

    Excel2003です。 あるシステムからエクセルにデータを落としたのですが、 01、02、03など0から始まる数字のセルの左上に緑の印が付いて 「このセルにある数値が、テキスト形式かアポストロフィーで始まってます」と出ます。 この緑の印を表示させないで、セルには01、02、のように数字をそのまま表記させることはできますか? よろしくお願いします。

  • エクセルの計算式

    すいません。エクセル2000について教えてください。 いま、ひとつのセルを参照して式を作っているのですが 変なことに気づきました。私は式を+から入れる癖があるのですが 例) +A12/10/100 セルの表示形式が標準だと=+A12/10/100 その他の表示形式(数値、通貨など)だと =+A12/0.1 となります。このように計算の優先順位が変わってしまいます。 当然結果も全然違います =から式を入力するとどの表示形式でも=A12/10/100です。 これはバグでしょうかそれとも何か意味があるのでしょうか 教えてください

  • マクロについて

    マクロであるプログラムを組んでいますが、うまくいきません。 かなり簡素化していいますと、次のような状況です。 エクセルのcells(1,1)に「9:30」という文字が入っています。 この"9:30"という文字列を読み出そうとするのですが読み出した値は0.39583…という数値になってしまっています。 具体的に言うと、 sub macro1() 開始時刻="9:30" 時刻=cells(1,1) if 開始時刻=時刻 then a=1 endif end というようなプログラム(実際はもう少し複雑ですが)を組んだのですが、どうしても「a=1」にならないので、デバッグ式で見てみると「時刻」の中味は"9:30"ではなく0.39583という数値だったということです。 ちなみにエクセルのそのセルの書式は、「表示形式:時刻、種類13:30」となっています。 どうすれば"9:30"という時刻(文字列)を読み出せるのでしょうか。教えてください。よろしくお願いいたします。

  • Excel抽出方法を教えてください。

    お世話になります。 下記のような表があります。 中の数字は任意の数字が入ります。 行に対して、数字は必ず1セルのみ。 列に対しては、数字は複数になります。 この数字が入っている列の1行目(画像でいうとA~F)を右側(H列)に表示させたいです。 関数で表示ができるようであればお教えください。 何卒よろしくお願いします。

  • エクセルVBAでシリアル値で読み込まれてしまう

    こんばんわ! エクセルVBAのユーザーフォームの質問です。 A1セルにある日付データ(yyyy/mm/dd形式)のデータをユーザーフォームのテキストボックスに入れるとシリアル値になってしまいます。 式は普通に aaa.text=range("a1") としています。 同様に時刻もなってしまうのですが、どうしたら通常のyyyy/mm/dd形式(時刻はhh:mm形式)で表示できるでしょうか? アドバイスの程よろしくお願いいたします。

  • EXCELでの時間計算(引き算)

    EXCELで時間計算をしたいのですが EXCELのセルって時間ではなく時刻しか入らないのでしょうか? 各セルabc・・・に時間(○○:××=○○時間××分 の意)を入れておき X=a+b+c+・・・ と計算したい。 ただしマイナスの時間も有る。 そのまま行うと24時間を過ぎると25時間は01を表示してしました。 時間ではなく時刻なのか? そこで色々試したところ プラスの時間だけなら セル書式設定で表示形式を ユーザー定義の [h]:mm にして 可能でした。 しかしマイナスの数字が入れられませんでした。 (マイナスの時刻と言うモノが存在しないから?) そもそも、セルの書式設定の表示形式のユーザー定義で設定できる形式って ヘルプかどこかに全部載っていますでしょうか? 人からもらったEXCEL表に たまに見たことも無い書式設定が書いてあることがあり 「そこで初めて知る」見たいなものがありましたので・・・ よろしくお願いいたします。 

  • エクセル:数値をテキスト形式で揃えたい

    5~6桁の、英字と数字の混在したコードのついたデータが一万件ほどありまして、これを利用してピボットテーブルで処理しなければならないのですが、 いろんな人が処理するデータなので、数字のみの(アルファベットの混ざらない)コードの場合、数値のものとテキスト形式のものが混在していて、同じコードがテーブル上で別々になってしまいます。 数字のみでテキスト形式の場合、セルの左上に緑色の三角のエラーインジケータが付いて 「このセルにある数値が、テキスト形式か、またはアポストロフィで始まっています。」 とメッセージが出ますが、これが付いた状態のほうがソートしたときに英数字の混ざったものときれいに並ぶので、この状態で扱いたいのです。 どうやらセルの設定を文字列にして入力しただけではこの状態にならないようで、今は既存の三角のついたものと同じ数字を手作業で貼り付けたりしていますが、数値の入ったセルを一度にテキスト形式にする方法はあるでしょうか? (この逆のパターンだったら、範囲選択して左に出る◇に!のついた部分をクリックして「数値に変換する」を選べばよい話なのですが…。)

専門家に質問してみよう