- ベストアンサー
エクセルの操作方法について
- エクセルで特定の操作を行っても、読み取りや計算ができない状態になる問題があります。特定の操作を行わないで、もしくは簡単に一括で操作後と同じ状態にする方法を知っている方がいれば教えてください。
- エクセルで特定の操作を行うと、セルの書式が変わり、読み取りや計算ができるようになります。しかし、この操作を行わないと、データの処理ができない問題があります。もしこの操作を簡単に一括で行う方法を知っている方がいれば、教えてください。
- エクセルで特定の操作をすると、セルの書式が変化し、データの処理ができるようになります。しかし、この操作を手動で行うのは手間がかかります。もしこの操作を簡単に一括で行う方法を知っている方がいれば、教えてください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
見かけは時刻のデータに見えるにもかかわらず、文字列データとなっているというパターンには、質問者様の今回の例の様な、元々文字列データとして入力されていた他のファイルやセルのデータをコピーした場合の他にも、例えば '08:00 の様に、先頭に「'」が付いた形式で入力されているというパターンと、何らかの関数が入力されていて、その関数による出力結果が "08:00" という文字列データとなっている場合などもあります。 但し、今回の質問者様の事例では、 >ダブルクリックして、選択をして、エンターを押したあとの状態 では、通常の時刻データに変わっている事から考えますと、「先頭に『'』が付いた形式」や「関数による出力結果が文字列データとなっている」というパターンではないと考えられます。(この2つのパターンでは、ダブルクリックして、エンターを押しても文字列データのままとなりますので、今回の事例の原因ではない事が判ります) そして、ダブルクリックして、選択をして、エンターを押すだけで通常の時刻データに変得る事が出来る以上、私の回答No.2にある様に、Excelの置換機能を使って「:」を「:」に置換する事で、時刻データに直す事が出来ると考えられます。(私の回答No.2の後に回答されたnaoto0216様の回答No.3も同じ方法です)
その他の回答 (6)
- msMike
- ベストアンサー率20% (364/1804)
マジックのような技を教えませう(^_^) 1.何処かの空きセルを時刻の書式 h:mm に設定します。 2.そのセルを[コピー] 3.お示しの全データ範囲を選択 4.[形式を選択して貼り付け]メニュー内にある“加算”に目玉入れ 5.憎々しげに「エイヤッ!」と Enterキーを叩き付け 「あッ!」と驚いた?
- m_and_dmp
- ベストアンサー率54% (987/1817)
8:00 が数値(時刻)としてではなく文字列として入力されているので平均値関数が使えません。グーグルカレンダーの時間をエクセルでエクスポートするところで処理できたらいいのですが、グーグルカレンダーを使ったいないので、そこのところは分かりません。 このような場合、私は数式バーの'8:00 の「'」削除して対応していますが、データがたくさんある場合は、一例としてつぎの方法があります。 (1)そのデータが記入されたシートの適当な空きセルに「1」を入力し、そのセルを選択してコピーします。これで、クリップボードに「1」が入力されます。 (2)数値に変換したいデータの範囲をマウスで選択します。 (3)選択範囲をマウス右クリックして、表示されるメニューから「形式を選択して貼り付け」をクリックします。(Excel 2010の場合) (4)「形式を選択して貼り付け」窓が開いたら、「演算」の下方にある「乗算」をチェックして「OK]します。 これで、8:00 が0.3333...に変わります。データの範囲の書式設定を時刻に変更します。(0.3333... が8:00 と表示されます。) 乗算とは、選択されたセルの値にクリップボードにコピーされた値を掛けることです。8:00 が文字列として扱われていても、乗算では、0.3333...として扱われ、乗算ができます。「1」を掛けるので値は変わらず、文字列から数値に変わります。 ※(1)で、セルの値「1」をコピーした後、ほかの場所でコピーという作業をしないでください。それをすると、クリップボードの内容が変わってしまい、乗算結果が変わってしまいます。 なお、セルの計算で、「1」を掛けることにより文字列から数値に変換することも可能です。セルA1 に8:00 と記述されているとして、それをセルA2 に数値として出すには、A2=A1*1
お礼
乗算でもできるんですね。 ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
>セルの書式としては、操作前は標準で、操作後はユーザー定義[h:mm]となります。 Start timeとEnd timeの列が文字列になっているようです。 セルをダブルクリックしてEnterキーを打鍵すると文字列を再入力してことになり、時刻を表す文字列はシリアル値(時刻または時間を表す数値)に変化します。 DurationとDay totalの列にどのような数式が設定されているかを確認してください。 エラーを防止するためのIF関数があるときは論理式が不適当と思われますので数式を変更する必要があるでしょう。 >この操作をせずに、もしくはもっと簡単に一括で操作後と同じ状態にする方法・・ 前述のようにデータの実態と数式の整合性をチェックしないと最も良い解決策になりません。 期待値と異なるセルの状態(数式の内容)を補足して頂ければ修正方法を提示できます。
お礼
数式入ってないんですよ。 他の方の回答で解決したので、修正方法は大丈夫です。 ありがとうございました。
- naoto0216
- ベストアンサー率46% (183/391)
その時刻の列を選択して、置換で「:」を「:」に置き換えてみて下さい。
お礼
置換のアイデアありがとうございました!
- kagakusuki
- ベストアンサー率51% (2610/5101)
セルの書式の表示形式自体は[標準]となっていても、そこに入力されている値が8:00等の時刻をシリアル値で表した時刻データ(8:00の場合は0.333333333333333という数値データと同じ)になってはおらず、"08:00"という「文字列のデータ」になっているため、Excelの処理上は時刻のデータとして扱う事が出来ない事が原因だと思われます。 >もっと簡単に一括で操作後と同じ状態にする方法 としては、まずそれらのデータが入力されているセルを全て含む事が出来るセル範囲を範囲選択して下さい。(A1セルの左上にある行番号の表示欄と列番号の表示欄が交差している箇所をクリックして、シート全体をまとめて選択するのが手っ取り早いと思います) 次に、[Ctrl]キーを押しながら[H]キーを押すなどと言った方法でExcelの「置換」ダイアログボックスを開き、「検索する文字列」欄と「置換後の文字列」欄の双方に「:」(コロン)を入力して下さい。(もしコロン以外にも共通する文字列がある場合には、その文字列を使っても構いません) その上で「置換」ダイアログボックスの[OK]ボタンを押しますと、それらのセルに入力されている文字列に共通して含まれている文字列が、同じ文字列に置換される事で、その共通する文字列が含まれている全てのセルに対して「ダブルクリックして、選択をして、エンターを押す」という操作をしたのと同様の効果が得られます。
お礼
置換でもできるんですね! ありがとうございました。
- dogs_cats
- ベストアンサー率38% (278/717)
文字列としてデータが入力されている数値の前に'が入っているのでしょう。 区切り位置ウィザードを使用してみてはどうですか。 1列づつしか出来ないのが難点ですが、手間ではないでしょう。 1.列選択 2. [データ] メニューの [区切り位置] をクリック 3.区切り位置ウイザード表示されたら OKボタンで数値が右表示されたら正常です。 http://kokodane.com/tec2_46.htm Gtimereportというサイトで同じような変換をしているようで、そちらは文字化けしていなそうです。 そちらを利用してみては如何でしょう。 http://office-taku.com/201309/web/5712.html
お礼
dogs_catsさん 早急な回答ありがとうございました! 区切り位置を試して、実際にできたことはできたのですが、 少し量が多いため、他の検索して色々探してみました。 文字列、数値というワードがお教え頂けたお陰で、 https://support.microsoft.com/en-us/kb/181298/ja このサイトが見つかり、5番目のマクロで複数行一括でできたので、 これで妥協はできそうです。 Gtimereportは使って試していたのですが、確かに文字列で吐き出されないのですが、 複数カレンダーを同時に吐き出すときのオプションで足りない部分があり、 どちらのサイトも片手落ち・・・状態だったのですが、 なんとか妥協できるレベルまでできたので、助かりました! ありがとうございました!
お礼
おぉ!驚きましたw