• ベストアンサー

EXCELで時刻表示の後に文字を付け加えたいのですが?

EXCEL2000 では、 時刻 18:00:00  (=18時0分0秒) は、実際には数値 0.75 (= 18 / 24) ですが、これを    18:00頃 という表示に変える式を作りたいと思います。(下記は、セルC2を参照する場合) =CONCATENATE(HOUR(C2),":",TEXT(MINUTE(C2),"00"),"頃") と書いてみたところ、 18:00:00  →  18:00頃 18:05:23  →  18:05頃 となりました。目的としては成功です。 しかし、もう少しすっきりした式になりませんでしょうか?? ちなみに、 =CONCATENATE(C2,"頃") では、  0.75頃  となってしまいましたし、 TEXT関数を使っても、#VALUE!エラーが出るので、18:00:00を文字列として操作(LEFT関数に持ち込みたかった)はできませんでした。 CONCATENATEが文字数長いせいかも知れませんが、もっとすっきりした式にしたいので(あるならば)お知恵拝借願います。

  • QoooL
  • お礼率100% (171/171)

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

  • ベストアンサー
回答No.2

=TEXT(C2,"hh:mm")&"頃" でいかがでしょうか??

QoooL
質問者

お礼

なるほど!!(ぴったりです) TEXTでエラーが出ると言ったのは私が表示形式を"00:00"としていたからでした。"h:mm"とすれば文字列変換できるのですね。 &の使い方も初めて知りました。 こんな不勉強ですみません。 ありがとうございました!!

その他の回答 (1)

  • pekezou05
  • ベストアンサー率40% (211/527)
回答No.1

セルの書式設定で「ユーザ定義」を選択し、「h:mm"頃"」と設定してはどうでしょうか?

QoooL
質問者

お礼

すばやいご回答ありがとうございます!! 早速実証してみました。求めていた通りです!! 私の拙さをお恥ずかしく思います。 引き続き他の方からも、別のアプローチ(式で表すなど)の案を本日22時まで募集させていただきます。 ありがとうございました。

関連するQ&A

  • Excel 文字数に制限あり??

    Excel 「CONCATENATE」文字数に制限あり?? 「B列からF列」までに入力された数字・文字・数式を、同じシート内の「H列」にて1行に表示させるため数式を入れていますが、文字数が255文字を(スペース含む)超えると【#VALUE!】(値のエラー)が出ます。 このエラーを回避し、正しく表示させる方法はありますでしょうか? ======================================================== *B列、D列、F列  数字、文字など、直接入力されています(空のセルあり) *C列、E列(参照先のセルが空白の場合あり)  =IF(ISERROR(INDIRECT("'シート名'!D2")),"",INDIRECT("'シート名'!D2")) *H列  =CONCATENATE(TEXT(B2,";;;@"),TEXT(C2,";;;@"),TEXT(D2,";;;@"),TEXT(E2,";;;@"),TEXT(F2,";;;@")) ======================================================== 分かりにくい説明ですみません。 よろしくお願いいたします。 環境 Win XP /Excel 2003

  • Excel &で他セルを参照させた時の時刻の表示がシリアル値になってしまう

    あるセルに、他の複数のセル内容を、&でつないで表示させたいのですが、 その表示させたい内容のひとつが時刻で、それがどうしてもシリアル値で 表示されてしまいます。時刻のままで表示させたいのですが・・・。 元のセルは今、書式設定は「時刻」になっており、 それを「文字列」にしてしまっても良いのですが、 その場合でも、半角数字:半角数字という書式を維持させたいです。 関数で処理しようと、 HourとMinuteを使う、Timeを使う、なども考えたのですが、 今ひとつスマートでないと思われました。 書式設定などで処理できるならばそれで一番良いのですが・・・。

  • 日時や時刻を指定し、その時間にメッセージを表示させる方法、、、

    Visual Basic 6.0 を始めたばかりの者です。 「日時や時刻を指定し、その時間になったら  あらかじめ指定したメッセージを表示させる」 というプログラムを作ろうとしています。 自分なりに考えたのは次のような方法です。 1.Year、Month、Day、Hour、Minute関数で、今日の年月日と時刻を得て  変数に入れる。 2.コンボボックスに「2003」などの数値を入れておき、  メッセージを表示させたい年月日と時刻を選択させる。  指定された年、月、日、時間、分はそれぞれ変数に入れる 4.「設定」ボタンを押す。 3.IF関数を使い、1.と2.の変数が全部一致したら、  メッセージボックスなどを出してメッセージを表示。 If (指定したYear = 今日のYear) And _ (指定したMonth = 今日のMonth) And _ (指定したDay = 今日のDay) And _ (指定したHour = 今日のHour) And _ (指定したMinute = 今日のMinute) Then テキストボックス = "定められたメッセージを表示する" End If ここで行き詰まってしまいました。 タイマーコントロールを使うのかな?とは思うのですが、 どのようにして使えば良いのか判りません。。。 1.の段階で既に間違っているのでしょうか。 タイマーコントロールを使って、今日ではなく「今現時点の」 年月日と時刻を得る必要があるのでしょうか、、、? 恐らく簡単な事なのかも知れませんが、判りやすく教えて戴けると幸いです。 宜しくお願い致します。

  • エクセルで時間の計算

    残業時間の計算なんですが 例えばB1に13:40    B2に13:42 で合計がB3に入っています でもエクセルでは3:25になってしまいますよね 一生懸命考えた末今はB4に=CONCATENATE(DAY(C5)*24+HOUR(C5),":",MINUTE(C5)) っで27:25って出しています もう少し簡単に出せないですか?

  • エクセル2003 VALUE関数

    VALUE関数は、文字として表された数字を数値に変換するということですが、 意味が分かりません。。。。 解答の式が下記です。 =VLOOKUP(VALUE(LEFT(B7,4)),レンタル,2,FALSE) B7のセルには、3005C40 が入っています。 VLOOKUPで参照するリストに 商品ID  商品名 3005   とちおとめ    がはいってます。 3005C40は、文字として表されたものでは ないと思うのですがなぜVALUEを使わなくていけないのでしょうか。 また別の表を見ると 1266P#2 右記のものを参照してますが VALUE 関数は使われていません。 何をみて、VALUE関数を使うかどうか決めるのでしょうか。 訳の分からない質問だと思いますが。。。 教えてください。どうぞ宜しくお願いします。

  • PHPでPCのローカル時刻は取得出来ますでしょうか?

    PHPでPCのローカル時刻は取得出来ますでしょうか? 現在、javascriptで取得しているのですが、これを PHPの変数として取得出来ないか考えております。 javascriptでは下記のように取得して表示させています。 <script type="text/javascript"> var nowtime = new Date(); var hour = nowtime.getHours(); var minute = nowtime.getMinutes(); var second = nowtime.getSeconds(); if(hour < 10) { hour = "0" + hour; } if(minute < 10) { minute = "0" + minute; } if(second < 10) { second = "0" + second; } document.write(hour,minute,second); </script> 例えば現在が12時34分56秒だとしたら、javascriptで 「123456」という6ケタの数字を取得出来ます。 この「123456」を、PHPの変数として使いたいです。 ($jikoku = 123456) どなたかお知恵を拝借出来ませんでしょうか? 何卒宜しくお願い致します。

    • ベストアンサー
    • PHP
  • エクセル CONCATENATE関数

    エクセル2003のCONCATENATE関数で作ったテキストを関数化(数式化)できないでしょうか。 たとえば、C3のセルに下のCONCATENATE関数を入れ =CONCATENATE(D3,E3,F3) 文字列"=sum(A1:A10)" を表示させ、 その後CONCATENATE関数をのぞき、=sum(A1:A10)を計算させたいのです。 CONCATENATE関数で合成されたセルをコピーし、形式を選択して貼り付けから値だけを貼り付けても、なぜかうまくいきません。 =sum(A1:A10)とC3に表示され、計算は実行されません。

  • C#のlabelの表示について

    C#のlabelの表示について カテ違いですが、C#のカテゴリがないのでここで質問させていただきます。 以下の時刻を表示するプログラムを作成したのですが、        //現在の時刻を取得  DateTime dt = DateTime.Now; int Second_1 = dt.Second % 10; int Second_2 = dt.Second / 10; int Minute_1 = dt.Minute % 10; int Minute_2 = dt.Minute / 10; int Hour_1 = dt.Hour % 10; int Hour_2 = dt.Hour / 10; label1.Text = Second_1.ToString(); label2.Text = Second_2.ToString(); label3.Text = Minute_1.ToString(); label4.Text = Minute_2.ToString(); label5.Text = Hour_1.ToString(); label6.Text = Hour_2.ToString(); if (int.Parse(label1.Text) == 0 && int.Parse(label2.Text) == 0) { int a; for (a = 0; a < 10; a++) { pictureBox4.Top += 1; System.Threading.Thread.Sleep(30); } for (a = 0; a < 50; a++) { pictureBox4.Top += 5; System.Threading.Thread.Sleep(10); } pictureBox4.Top = 12; } label1は「秒」の1の位、 label2は「秒」の10の位、 pictureBox4は「分」の1の位の画像を表示しています。 pictureBoxとlabelを重ねて、画像の上に時刻を表示しています。 秒が0になったとき(分の位が一つ上がるとき)、 分の位の画像を移動させて(forループ2つ)再び元の位置に戻しているのですが(pictureBox4.Top = 12;) そのとき秒が「00」とはならず「59」のままで、このループが終わると「00」を飛ばして「01」となります。 ちなみにこの部分はタイマーで0.2秒ごとに回しています。 原因がわかりませんので、ご教授願います。 また、ループには概算で0.8秒かかりますが、この間、タイマーの呼び出しは実行されているのでしょうか? 加えて、pictureBox4.Topの値を動かしていますが、重ねて配置しているlabelも一緒に動いてくれます。 いろいろなサイト様を参考に、 this.label3.Parent = this.pictureBox4; と親コントロールをFormから変更したのですが、このためでしょうか? 変な表現がありましたらご容赦ください。 よろしくお願いします。

  • EXCEL IF関数内で共通の条件式をまとめる方法

    初めてご質問させていただきます。よろしくお願いいたします。 EXCELで以下のIF関数を使用しています。 U1セルには=NOW()関数で時間が表示されています。 要するに、9時15分から11時までの間で、15分間隔で大小関係を比較するセルを変更して、その結果に応じてA判定、またはB判定、または空欄のいずれかが選択されるIF関数になっています。 お伺いしたいことは以下の2点です。 (1) 各条件式で共通部分が必ず3つあります。最初のA判定とB判定の条件式を見ていただきたいのですが、HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30が共通です。この共通している部分を くくり出して一つにまとめる事はできないのでしょうか? (2) 以下のIF関数をもっと短くエレガントに記述することはできなのでしょうか? 以上2点、ご回答よろしくお願いいたします。 =IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C3>B3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=15,MINUTE($U$1)<30,C4<B4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D3>C3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=30,MINUTE($U$1)<45,D4<C4),"B",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E3>D3),"A",IF(AND(HOUR($U$1)=9,MINUTE($U$1)>=45,MINUTE($U$1)<=59,E4<D4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F3>E3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=0,MINUTE($U$1)<15,F4<E4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G3>F3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=15,MINUTE($U$1)<30,G4<F4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H3>G3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=30,MINUTE($U$1)<45,H4<G4),"B",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I3>H3),"A",IF(AND(HOUR($U$1)=10,MINUTE($U$1)>=45,MINUTE($U$1)<=59,I4<H4),"B",""))・・・括弧省略

  • Excelでセルの文字を繋げたいのに・・・

    Excelでセルの文字列を繋げたいと思います。 10セル位ならCONCATENATE関数を利用しても苦になりませんが、100セルともなると大変です。 =CONCATENATE(A1,B1,C1,D1,・・・100個も)   オートサムみたいに=SUM(A39:K39) ":"を入れてみましたがダメでした。 大量のセルを一つにまとめる時は何か書き方がありますか?

専門家に質問してみよう