• ベストアンサー

S.20.5.30→シリアル値

こんにちは。 エクセルでセルに文字列として S.20.5.30 と入力されている値をシリアル値に変換したいのです。 プログラミングを必要としない解決方法をご存知の方、教えて下さい。 列が増えてもかまいません。 環境:Win2000 Excel2000 よろしくお願いします。

  • lehua
  • お礼率90% (118/130)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#3でアドバイスをいれた者です。手作業で「.」を取り 除いたらと書きましたが、その後メニューの編集 -置換で「S.」(エス+下点)を「S」に置換すれば、 置換後のS20.3.10は日付と認識され、数値の 書式にするとシリアル日付になる事がわかりました。

lehua
質問者

お礼

imogasiさん、ありがとうございます。 解決できました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセルのセルA1にS20.3.10と入力し(Sのあとに「.」ない場合。) 書式-セル-数値とすると、シリアル値16506に なりました。S.20.3.10ではそうならない。 そこでB列に=”S” & MID(A1,3,LEN( A1)-2)をいれ、書式を数値にしたが、ダメでした。 書式を日付にしても、1945/3/10にならない。 A列の値から「.」を手作業で削除できる数ならこの 方法も使えるかも知れない。

回答No.2

A1の内容が"S.20.5.30"(文字列)ならば、B1に =DATEVALUE(REPLACE(A1,2,1,"")) と入力すればシリアル値になると思います。 因みに、DATEVALUEの引数は日付文字列限定です。 元の"S.20.5.30"は日付文字列として認められませんが、 REPLACE関数で変換した"S20.5.30"ならOKって事で。

lehua
質問者

お礼

MidnightHawkさん、ありがとうございます。 datevalueもトライしたのですがダメでした。replaceが必要だったのですね。 勉強になりました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

余り算式を使わないようにしてみました。 A1にS.20.5.30があるとします。消したくないのでこれをB1にコピーしてB1を加工します。 B1を選んで(実際たくさんあれば、いっしょに選択します)、  データ→区切り位置     →区切り位置ウイザード- 1/3 で元のデータの形式で       カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ を選択して次ぎへ     →区切り位置ウイザード- 2/3 で       区切り文字で、『その他』にチェックして窓に『.』(小文字ピリオド)を入力して 完了 B1= S、C1=20、D1=5、E1=30 になっているはずです。 F1に =IF(B1="S",1925,IF(B1="H",1988,0)) G1に =DATE(F1+C1,D1,E1) G1は日付になっているはずです。 F1は昭和(S)と平成(H)について計算しています。(全部のデータが昭和なら1925ばかりでてきます)

lehua
質問者

お礼

nishi6さん、早速の回答ありがとうございます。 データ区切り位置は応用できそうです。 どうもありがとうございました。

関連するQ&A

  • Excel 1分2秒5をシリアル値に変換したい

    Excel2007 1分2秒5と文字列で入力されているセルの値を 1:02.5と関数でシリアル値に変換したいのですが その方法を教えてください。

  • EXCELでコロン「:」を使用した時にシリアル値にならないようにしたい

    EXCEL2007(他ヴァージョンは分かりません)にて、コロンを使用した時刻を入力すると、勝手に書式が変わって、表示は時刻のままですが、値がシリアル値になってしまいます。これが機能しないようにしたいです。 元々数式が入力されているセルで、必要に応じて時刻を手入力しているので、書式を文字列にするのは不可です(手入力後はマクロで元の数式を入れてます)。 要は通常は数式を使用し、コロン「:」を使用して入力した時は文字列としたいのです。 コロンを使用しないで、例えば15:00を1500のように入力すれば、目的は果たせるのですが、他の(EXCELの知識がない)作業者が使用するファイルのためどちらの入力方法でも稼働するようにしたいのです。同じ理由でシングルクォートの使用も不可です。 条件付き書式やTEXT関数を使用しても、シリアルへの変換後に機能するためかうまくいきませんでした。

  • Excelで文字列で入力された日付のシリアル値への変換

    エクセルで、セルに文字列で例えば"12/26/06"と入力されたもののシリアル値を得る簡単な方法はないでしょうか。 "2006/12/26"と入力されたものであれば、DATEVALUEという関数でシリアル値を得ることは確認しました。 日付同士の計算で日数を計算するために、必要となっています。 よろしくお願いします。

  • シリアル値なのに、シリアル値と判別してくれない!!(csvファイル/Excel)

    エクセルですが、教えて下さい!! あるcsvファイルなんですが、ファイルサーバーに入って、社員で共有して 使っています。 その中のあるセルがあって2006/07/08というシリアル値が入っています。 シリアル値だから 「セルの書式設定」から「表示形式」の「日付」を選んで「種類」を変えると値が下記のように変わります。 2006年7月8日 や 平成18年7月8日 のように表示を帰られます。 10人中5人のPCからは「年月日」の表示が変わります。つまりPC側がシリアル値として認識してくれています。 ところが残りのPCだと、「単なる文字」として認識しているせいなのか、同じ事をやってもピクリともしません。2006/07/08のまんまです。 「文字列」に変えても 、「標準」に変えても"うんすんとも" 言いません。 何度も言いますが、同じファイルです。 ちなみに全員Windows XP/Excel2002です。 何かの設定っぽいんですが。。。教えて下さい!!

  • シリアル値から○○-○○-○○の形で文字列にしたい

    助けてください(泣)難しいです。 環境は WindowsXP Professional Excel2003 です 「21-01-01」のような形の商品コードがあって、このデータをCSV出力してファイルを開くと、「2021/1/1」というデータで、日付として認識されてしまいました。 セルの書式設定にて文字列に変換すると、「44197」というシリアル値になってしまいます。 最終的に「21-01-01」の形で文字列として扱いたい場合、どのような処理をすれば良いでしょうか?一括で変換できる方法があれば是非教えてください。よろしくお願い致します。

  • シリアル値とそうでない日付をシリアル値に統一

    エクセル2010を使っています。 BG列に、数万行の日付が入力されていてどうもシリアル値と文字列?が混同されているようです。 これをシリアル値に統一するにはどのような方法があるでしょうか? 詳しい方、教えていただけないでしょうか。 よろしくお願い致します。

  • エクセルでシリアル値に変換

    エクセル2003を使っています。 B列に200708(2007年8月という意味です)や200911等の日付が入っています。 これではただの数字であって日付データではありません。 最終的には200708等の数字を日付データに変換して、シリアル値にしたいと思っています。 シリアル値に変換の仕方を教えて頂けないでしょうか? 私がとりあえずやった方法は、C列にRight関数とLeft関数を使って、 2007/08という具合に年と月の間に/をいれました。 これをコピー値貼り付けして、関数から値に変換すると2007/08ではなく、'2007/08と なっており、どうしても数字ではなく、文字列になってしまいシリアル値にできません。 'を空白に置換えしようとしても、置き換えができません。 手法は関数やVBAでも構いませんので、教えて頂けないでしょうか? よろしくお願いします。

  • EXCELで文字を数字に変換したい

    お世話になります。 エクセルシート上の見た目数字、実は文字列という値を、数字に変換したいのですが、EXCEL-VBAでどのように処理すればいいのでしょうか? 1.セルから文字列型の見た目数字の値をとってくる。 2.VBAで文字列型から整数型に変換する。 3.元のセルに貼り付ける。 4.セル書式を数字のカンマ形式にする。 リンクではなくこのような処理をしたいのですが、どうすればいいのでしょうか?

  • EXCELの日付データを文字列に変換したい

    EXCELの和暦形式の日付データを文字列に変換する方法を教えてください。 たとえば、H17.9.2をそのまま文字列に変換したいのです。 最初から文字列データとして入力すれば問題ないのですが、日付データ(標準)として入力されたデータを書式→セル→文字列で変換するとシリアル値に変わってしまいます。(H17.9.2→38597) どうしたらよいのでしょうか。お願いします。

  • (e)を€に変換しない方法

    資料でエクセルのセルに「(e)」という文字を入力すると、どうしても「€」に変換されてしまいます。 セルの設定を文字列にしても、セルに「'」を入れてもだめでした。 どのように対応すれば解決できるか教えてください。 エクセルは2010を使用しています。

専門家に質問してみよう