文字列を時刻に変換する方法とは?

このQ&Aのポイント
  • 質問者は、文字列を時刻に変換する方法を知りたいと述べています。
  • 具体的には、5,000行以上ある文字列を一括で時刻に変換する方法を求めています。
  • 書式設定や関数を使用する以外にも、より効率的な方法を教えて欲しいとも述べています。
回答を見る
  • ベストアンサー

文字列を時刻に変換

先日、下記のリンク先で作業時間の関数を教えていただきました。 <http://okwave.jp/qa/q9023764.html> ただ、A列、B列が文字列のため、下記の関数をC6(ユーザー定義の[h]:mm:ss)に入れると空白なってしまいました。 試にA列、B列を時刻に変換すると作業時間が表示されたのですが、 一括で文字列から時刻に変換する方法はありますでしょうか? 行が5,000行くらいあって、書式設定で変更後、F2を押下するのはつらいので。。。 また、他にも良い方法があれば教えていただければと思います。 どうぞよろしくお願いいたします。 【作業時間を計算する関数】 =IF(COUNT($AQ$2:$AS$3,$AO11,$AP11)=8,IF(AND($AO11>1,$AP11>$AO11,COUNTIF($AQ$2:$AS$2,">0")=3,COUNTIF($AQ$2:$AS$2,"<=1")=3,$AQ$2<$AQ$3,$AR$2<$AR$3,$AS$2<$AS$3),(MIN($AP11-INT($AO11),$AQ$2)-$AO11+INT($AO11))*($AO11-INT($AO11)<$AQ$2)+(MIN($AP11-INT($AO11),$AR$2)-MAX($AO11-INT($AO11),$AQ$3))*($AO11-INT($AO11)<$AR$2)*($AP11-INT($AO11)>$AQ$3)+(MIN($AP11-INT($AO11),$AS$2)-MAX($AO11-INT($AO11),$AR$3))*($AO11-INT($AO11)<$AS$2)*($AP11-INT($AO11)>$AR$3)+($AP11-INT($AO11)-MAX($AO11-INT($AO11),$AS$3))*($AP11-INT($AO11)>$AS$3),""),"")

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

  • ベストアンサー
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

>一括で文字列から時刻に変換する方法はありますでしょうか? A列とB列を選択した状態で、置換をやってみたらどうでしょ。 「:」を「:」で置換。

その他の回答 (2)

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

>一括で文字列から時刻に変換する方法はありますでしょうか どこかのセルに1と入力してコピー A:B列の必要範囲を選択して、形式を選択して貼り付けで、乗算を選択してOK でいけませんか?

aoaoaoki
質問者

お礼

mshr1962さん ありがとうございます。 計算はできたのですが、シリアル値(?)というのでしょうか、ペーストしたところがよくわからない数字になってしまいました。 2015/07/30 14:22:12 → 42215.59875 今回はnaoto0216さんのやり方で行おうと思います。 ありがとうございました。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

=TIME(HOUR(A6),MINUTE(A6),SECOND(A6))

aoaoaoki
質問者

お礼

aokiiさん ありがとうございました。 試してみたのですが、なぜか文字列のようにセルの左上に緑の三角がついてしまい、 作業時間が空白のままでした。 今回はnaoto0216さんのやり方で行おうと思います。 ありがとうございました。

関連するQ&A

  • EXCEL文字列検索

    こんにちは。教えてください。 リスト内で文字列の検索をしたいです。 =IF(COUNTIF(B2,"*あああ*")>0,"あああ",IF(COUNTIF(B2,"*いいい*">0),"いいい","")) ”あああ”はうまくいくのですが、”いいい”は空白になります。COUNTIF関数は二つ以上ネストできないのでしょうか?? もう困っています。どうかお力を貸していただけませんか?よろしくお願いします。

  • 指定文字を除く曜日別のカウント

    いつもお世話になります。 WIN7 EXCELL2010 です。 1月にて説明します。 範囲は、 I13:AM12 です。 このとき A ~ F のみの文字を手入力します。 (A ~ D は就業 E:有休 F:公休) 曜日別の「就業日数」をAR13:AX24 今は解る範疇で何とか下記のようにしています。 AR13 には *AV13は「2」となります。 =SUMPRODUCT(($I$12:$AM$12="日")*(I13:AM13<>"")) AY13 には J13=E を引き算して 有休 公休の休みを除いています。  =SUM(AR13:AX13)-SUM(AO13:AP13) AO13 には =IF($B13="","",COUNTIF($I13:$AM13,$AO$10)) AO10=E AP13 には =COUNTIF(I13:AM13,$AP$10) AP10=F ご指導を仰ぎたいのは AV13 (木) の「2」という数字は就業と休みの合計ですがこれを E F を除いた純粋の就業数(この場合は「1」)する数式をお願いしたいのです。 良しくお願いいたします。

  • エクセル 時刻(時間)計算について

    はじめて記載させていただきます。 エクセルで時刻の計算式を作りました。 添付画像も添付しておきます。ご精査していただきご回答をお願い致します。 日中作業分は○○時間 夜間作業分は○○時間と分けたい C3 直接入力 D3 直接入力 E3 D3-C3+(C3>D3) F3 E3-G3 G3 IF(COUNT(C3:D3)<2,0,MAX(MIN(D3,"8:00"+(C3<D3))-MAX(C3,"20:00")+(C3>D3),0)+IF(C3<"8:00"*1,"8:00"-C3,0)) 条件 1 8:00~20:00 日中作業分 2 20:00~8:00  夜間作業分 ★下記表の通り、開始4:00 終了7:00等になった場合うまく表示(計算されません) ※いろいろためしたのですが終了時間が8:00前の場合反映しないかもしれません ■現在の式では↓のように表示(計算)になってしまいます。 開始時刻 終了時刻  total  日中作業  夜間作業   4:00   7:00  3:00  #### 4:00 ■↓このように計算表示させたい   開始時刻 終了時刻 total 日中作業 夜間作業 4:00 7:00 3:00 0:00 3:00 よろしくお願い致します。

  • 文字列の変換について

    PHPを用いて、リファラーから検索文字列を取得するスクリプトを作成しています。下記のような感じです。ただ、検索文字列にスペースが連続していたり、「ホテル、予約」「時刻表・東京」などのように「、」や「・」があると文字列が連続してしまい、うまくいきません。 よろしくお願いします。 $ref=split('\?','http://hogehoge.com?q=リファラー'); mb_parse_str($ref[1],$q); foreach($q as $key => $value){ if($key=='p' or $key=='q'){ // yahooとgoogleだけ調べると仮定 $value=mb_convert_kana($value,'rnKs'); $keyword=split(' ',$value); foreach($keyword as $k){ echo $k; } } }

    • ベストアンサー
    • PHP
  • ユーザー定義から文字列に変換すると文字化けする

    今組まれている関数の都合で文字列じゃないと関数の計算がうまくいきません。 時間の表示を00:00:00にしたかったのでセルの書式設定にてユーザー定義:h:mm:ssにしてましたが、これだと関数が読まれませんでした。 ※時刻で00:00:00の表記にしても関数は活かせない 文字列として打ち直すと条件にマッチしている件数が抽出されました。500件以上あるので1つ1つ文字列として打ち直すのは時間がかかります。 何かやり方はありますか?

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • マクロでの集計の仕方を教えてください

    A:ARまでデータが入力されていて、I,AO,AQそれぞれの最終行に合計金額をいれたいのですが”マクロ”の記入の仕方がわかりません。是非教えてください。 また、AOの合計はAQの欄に済と入力されたものだけの合計を出したいのですが・・・!

  • Excel条件付きで最大値を出したい

    こんにちは。 Excel2007を使用しています。 A列に人名、B列に点数の表があります。 countif や sumif など"if" のある関数なら=countif(!B:B,A1)などで 人名の現れる回数や、その人名の点数の合計が算出できますが その人の最高点を出すにはどうすればよいでしょうか? max関数にはmaxとmaxa関数しか探し出せませんでした。 ご存じの方お教えください。

  • coutif 数式の結果の文字列がカウントできない

    例えば、B~D列にif関数に合致したら「〇」と表示されるように数式を入れていて、B~D列の〇の数を数えるためにE列に=COUNTIF($B2:$D2,"〇")と入れたのですが、空白のままで結果を表示してくれません。何がいけないのでしょうか?

  • 文字列の扱い方

    初歩的な質問ですみません… str文字列からcという文字を見つけたら添字を返すという関数を作ったのですが、 iにこの関数を代入して、if文の制御式にiを使って比較するまでは正常なのですが、 真文にiを使うと何故か偽文(という言い方でいいのでしょうか…この場合("そんな値はありません。"というところです)が実行されてしまいます。 よろしければご教授お願い致します。 #include <stdio.h> int str_char(const char str[],int c) { int len = strlen(str); int i; for (i = 0;i < len;i++) { if (str[i] == c) return i; } return -1; } int main() { char str[64] = "Fucking Brutal Death Metal"; int ch,i; printf("どの文字を調べますか?"); scanf("%c",&ch); i = str_char(str,ch); if (i >= 0) printf("その文字は%d番目にあります。",str_char(str,ch) + 1); //何故かiだと動かない else printf("そんな値はありません。"); return 0; }

専門家に質問してみよう