• ベストアンサー

エクセルの値の表示方法がかわりません。

外部ファイルを開き、日付(2/25/2013 09:30:00)を自分の作り直したファイルにコピーして表示方法を(25 9:30)と表示したいのですがセルの書式設定で表示方法を変えても切り替わってくれません。 年と秒を消すと切り替わりますが、大量のデータをコピーするので一つ一つやっていると時間がもったいないので困っています。 オフィス2010です。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

> 大量のデータをコピーするので一つ一つやっていると時間がもったいない お分かりとは思いますが、回答を待つ時間ももったいないですよね。 「すぐに回答欲しいです」にも拘らず、 質問が投稿されてから6時間半超、最初の回答からも4時間ほど。 云々ありますが、まぁ気を取り直して。 さてさて。 > 年と秒を消すと切り替わりますが、 「秒」いじくる必要はありません。 「年」部分を(便宜上)消すだけで「切り替わり」ます。 ですので、結論。 「日付」が入っている列を選択した状態で 置換(ホームタブ→検索と置換→置換、またはCtrl+H)を使って、   検索する文字列:「/2013」   置換後の文字列:「(空白のまま)」 ですべて置換します。 これでおそらく「切り替わり」ますから、列選択を解除せず、 セルの書式設定で数値の表示形式をユーザー設定にして   種類:「d h:mm」(前後を括弧で括りたいなら「"("d h:mm")"」) としてやると、お望みの表示形式になるでしょう。 ただし置換すると「処理現在の西暦年」と見做されます。 本来ならそこの考慮はしてやらないといけませんが、 > (25 9:30)と表示したい という事ですから、そこまで深くこだわる必要も無いでしょう。

kx184kxww
質問者

お礼

できました。 FX取引中は編集していられなかったのですが、これで取引しながら最新の取引履歴が見られます。 ありがとうございました。

その他の回答 (3)

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

こんにちは! VBAになってしまいますが、一例です。 データはA1セルからあるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, myArray Application.ScreenUpdating = False Columns(1).NumberFormatLocal = "G/標準" Columns(2).Insert For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If InStr(Cells(i, 1), " ") > 0 Then myArray = Split(Cells(i, 1), " ") With Cells(i, 1) .Value = myArray(0) .Offset(, 1) = myArray(1) End With With Cells(i, 1) .Value = Cells(i, 1) + Cells(i, 2) .NumberFormatLocal = "d h:mm" End With End If Next i Columns(2).Delete Application.ScreenUpdating = True End Sub 'この行まで ※ 日付と時刻の間は半角スペースという前提です。 ※ おそらく表示はお望み通りになると思いますが、 実データは秒まで含んだシリアル値になります。m(_ _)m

kx184kxww
質問者

お礼

回答ありがとうございます。 やってみましたが、できませんでした。

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

一旦例えばA列に外部からのデータを取り込みますがそれは文字列であって表示形式などでお望みの表示にすることはできません。例えばB1セルに次の式を入力して日付のデータとなるようにシリアル値に変換します。 =IF(A1="","",IF(ISNUMBER(MID(A1,FIND("/",A1)+1,2)*1),DATE(MID(A1,FIND("/",A1)+4,4),LEFT(A1,FIND("/",A1)-1),MID(A1,FIND("/",A1)+1,2))+MID(A1,FIND("/",A1)+9,8)*1,DATE(MID(A1,FIND("/",A1)+3,4),LEFT(A1,FIND("/",A1)-1),MID(A1,FIND("/",A1)+1,1))+MID(A1,FIND("/",A1)+8,8)*1)) もしも日付で日の部分が01や25のように常に二桁となっているのでしたら次の式でもよいですね。 =IF(A1="","",DATE(MID(A1,FIND("/",A1)+4,4),LEFT(A1,FIND("/",A1)-1),MID(A1,FIND("/",A1)+1,2))+MID(A1,FIND("/",A1)+9,8)*1) その後にB列を選択して右クリックし、「セルの書式設定」の「表示形式」のタブから「ユーザー定義」を選択し種類の窓には d h:mm と入力してOKします。

kx184kxww
質問者

お礼

回答ありがとうございます。 やってみましたが、できませんでした。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

外部から取り込んだデータですので文字列になってるんでしょうね。 列方向にデータが入っているのでしたら、 列選択→データ→区切り位置→次へ→区切り文字のスペースにチェック→「2/25/2013」の列が反転している状態で列のデータ形式の日付の中から「MDY」を選択→完了 これで日付と時間のデータに分かれます。 別のセルで日付と時間のセルを足せば、時間を含めたシリアル値のデータになりますので、それから表示形式を設定して下さい。 関数がよろしければ他の方が回答して下さると思います。

kx184kxww
質問者

お礼

回答ありがとうございます。 やってみましたが、できませんでした。

関連するQ&A

  • エクセルで「1-1」を表示する方法について

    エクセルで、「1-1、1-2…」という表記をしたいのですが、できません。セルの書式設定で表示形式を標準や文字列に変えてみたのですが、日付として認識されてしまうようなのです。前に’(シングルコーテーション)をつけるとうまくいくようですが、ワードから大量にコピーしたいため、一つ一つにつけるのは結構手間がかかってしまいます。簡単に、一気にコピーする方法はありませんか?

  • エクセル 日付が入っているセルの値だけをコピーする方法

    こんにちは。大変お世話になっています。 あるセルに 2007/3/15 といった日付データが入っています。 これをセルの書式設定、ユーザ設定 M"月"で、「3月」と表示されるようにしました。 この「3月」を、そのまま「3月」となるように別のセルにコピーしたいのです。 形式を選択して貼付の「値」等を選んでも、表示は「3月」ですが、セルの中身は「2007/3/15」となってしまいます。 そのままセル中身も「3月」としてコピーするにはどうしたら良いのでしょうか? どうぞよろしくお願いします。

  • エクセルの書式設定を拡張利用する方法

    エクセルで日付を表示させるセルに書式設定でmとすると月が表示され、dとすると日数が表示されます、aaaとすると曜日が出ます。 しかし外部のセルにそのセルを参照させて、条件式を組んだときに。 月、日付、曜日そのものを利用できません。 あくまでも、日付そのもののデータが入っているという判定になります。 これを表示されている、月、日付、曜日を条件書式で参照して利用する方法はありますか?

  • エクセルの表示設定方法

    エクセル2010です。 PASMOの使用履歴をエクセルにコピー&ペーストでしています。 コピー&ペースト自体は問題なくできるのですが、 日付が、元々のネットでは0710となっているところエクセルに貼り付けると711と表示されます。 これを、2011/7/11というように表示させるにはどのようにしたら良いのでしょうか? セルの書式設定で「日付」から「種類を2011/3/14」で選ぶと「1901/12/11」となってしまいます。

  • 34:33と01:34:33の表示方法・・・Excel 2003

    Excel 2003を使用しています。 ランニングの記録として時間の表示を34分33秒の時は34:33(00:34:33)、1時間34分33秒の時は01:34:33と表示させたいのですが、セルの書式設定(表示設定)でどのような分類、種類を選択すればいいのでしょうか?

  • エクセルのNOW()の返した値を数値データに変換

    エクセルのNOW()の返した値を数値データに変換 セルのA1に =NOW()といれてあります。 セルの書式設定→表示形式→日付→種類でいろいろな表示ができます。 このA1のセルをコピーしてB1に形式を選択して貼り付け→値 で貼り付けます。 同じくセルの書式設定→表示形式→日付→種類でいろいろな表示ができます。 この貼り付けたB1のセルには 2010/8/26 12:48:10 となっています。 このセルの値を100826124810と変換してしまうには B1にどういう式を入れるとできますか? A1の値の変化と連動でB1も変化させたいです。 お願いします。

  • Excel 表示形式について

    いつも大変参考にさせていただいております。 また、ご助力頂けますとたすかるため、投稿させていただきました。 前任から引き継いだExcelファイルで 日付+時間 を表示させているセルがあります 引継ぎ時には 「2011-11-11 11:11(左詰め)」 で表示されていましたが、セルを F2キー 、ダブルクリック で 編集モードとして 文字などは入力していませんが、Enterキーを押すと「2011/11/11 11:11(右詰め)」となります。 元々の(左詰め)になっているセルをコピーして、右詰めとなってしまったセルに「書式のみコピー」としても右詰めのままになります。ただ、(左詰め)をCtrl+C コピーして、(右詰め)になったセルにCtrl+V 貼り付けすると セル内容含め(左詰め)になりました。 数式欄をみてみると (左詰め)「2011-11-11 11:11」 (右詰め)「2011/11/11 11:11:00」 と表示されます。 なお、書式設定は「yyyy/m/d h:mm」でユーザー定義設定をしています 編集後 右詰めになってしまったセルを再度左詰め にしたいと思っているのですが方法はあるのでしょうか。 こういったことの原因は何か分かる方見えますでしょうか。 内容はまったく一緒になるのでしょうか。

  • Excelの日付の表示方法で

    Excelの日付の表示方法で 2012/06/09というように一桁の数字の場合は0を入れたいのですが、 2012/6/9というように表示されてしまいます。 セルの書式設定で見ると、似たような表示はあり、 きっとできるのではないかと思うのですが やり方がわかりません。 使用しているのはExcel2010です。宜しくお願い申し上げます。

  • エクセルで0.1という数字を%表示で0.1%としたい。1%にしたくない。どうしたら?

    エクセルで0.1という数字を%表示で0.1%としたいのですが、 セルの書式設定でパーセンテージ表示にすると、 百分率で計算されて、1%となってしまいます。 本来これでよいのですが、 今回、そのままの表示0.1%としたいのですが、 1番スムーズにできる方法を教えていただけますでしょうか。 とりあえず、0.1を文字列に変換し(●と仮定)、隣に%だけのセルを作り(▼と仮定)し、さらに=CONCATENATE(●,▼)と計算式を入れて表示させているのですが、大量でバラバラにデータがあるため、大変時間がかかってしまっています。 お分かりになる方がいらしたらよろしくお願いいたします。

  • エクセルの時間表示

    今、エクセルで作業をしているのですが・・・ CSVファイルから吐き出したデータをエクセルに 取り込みました。元データで 「3.6分」 となっているデータを、エクセル上で 「3分36秒」 と表示させる必要があるのですが、セルの書式設定を いじってもうまく表示させることが出来ません。 ユーザ定義を使用するのだと思うのですが、どなたか ヒントを教えて頂けますか? 宜しくお願いします。

専門家に質問してみよう