• ベストアンサー

エクセル2007 データの置換

よろしくお願いします。 データA 2009/01/01,12:00:00,79.54,80.01,79.49,79.98 を データB 20090101 120000;79.54;80.01;79.49;79.98 に形式を変更したいです。 いずれも、左から順に年月日、時分秒、株価(4本値)で並んでいます。 年月日のスラッシュを消すことはできます。 しかし、データAの「,」を「;」に変更すると、 年月日と時間の間は「半角スペース」にしたいのに 「;」になってしまいます。 どうすれば上記のように変換できるのかご教示ください。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

=SUBSTITUTE(SUBSTITUTE(REPLACE(A1,FIND(",",A1),1," "),"/",""),",",";")

yoshikijpn
質問者

お礼

参考になりました。ご回答ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.6

>株価は桁数が変わることがあります あ、やっぱり... なので、改良版です  =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(B1,10)&" "&RIGHT(B1,LEN(B1)-11),"/",),":",),CHAR(44),";") 本来は、こう↑するべきだとは思っていたんですが、少しでも短くしようとして手抜きしてました(^_^;) また No3の KURUMITO さんの回答が優れていますね SUBSTITUTE の機能を有効に利用しています そこで、ちょっとだけ改良を...  =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B$1,","," ",1),"/",),":",),",",";") 基本的には同じなんですが 日付と時間の間の","を" "(スペース)に変換を最初にやる事によって、"," から ";" への変換を1個減らしています ps 初めの回答で","をCHAR(44)としている事について Excel2000では","とするとうまく行かなかった為です Excel2002以降では問題無い様です

yoshikijpn
質問者

お礼

またの投稿ありがとうございます。とても参考になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

マクロの例 ActiveCell.Value = Replace(Replace(Replace(ActiveCell.Value, ",", " ", 1, 1), "/", ""), ",", ";")

yoshikijpn
質問者

お礼

参考になりました。ご回答ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

A1セルにデータがあるとして次ぎの式ではどうでしょう。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,",",";"),":",),"/",),";"," ",1) 引数となる最後の"と"の間は半角のスペースとします。

yoshikijpn
質問者

お礼

ご回答いただきありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

文字列の長さ、フォーマットにバラつきが無ければ A1 に文字列が有るとして =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(A1,10)&" "&RIGHT(A1,32),"/",),":",),CHAR(44),";")

yoshikijpn
質問者

補足

ご回答いただきありがとうございます。 株価の桁数が、上記の例の通りであればうまくいきました。 ありがとうございます。 でも、株価が79.54だったのが101.50などのように 桁数が変化すると駄目です。 年月日と時分秒のフォーマットは変化しないのですが、 株価は桁数が変わることがあります。 う~ん、どうしたら良いのやら

全文を見る
すると、全ての回答が全文表示されます。
  • fukaizumi
  • ベストアンサー率15% (6/38)
回答No.1

まず、=A1 &  ”” & A2 & A3 & A4 & A5 & A6 のようにしてセルを結合して1個のセルにして、その後Mid関数を使用して特定の位置の「,」を「;」に変換すればいいのでは。何回も操作が必要ですが、1回でやりたいのならVBAが早いかと思います。

yoshikijpn
質問者

お礼

ご回答いただきありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル2003のマクロでテキストファイルのデータを置換しようとしてい

    エクセル2003のマクロでテキストファイルのデータを置換しようとしています。 下記のようなデータが***.txtファイルに入っています。 a)を半角スペース2つに置換したいのですがどうしたらできるのか、 2文字の置換方法をご存知の方教えていただけないでしょうか? LinInputでデータを1行ずつ読み込み、 左の数値データも半角スペースに置換し、 Trimでスペースを削除しようと思います。 【入力データ】 10  55567 444  987   11  456b) 2345 789  a12 12 123a) 456 888 b17 ・ ・ ・ 【出力データ】 55567 444  987   456b) 2345 789 123 456 888 ・ ・ ・

  • Excel 2002 置き換え方法

    エクセル2002で人事データを管理しています。 データ整理が必要になり、形式を変える必要が出てきて困っています。 (1)人名 「ヤマダタロウ」(半角)⇒「ヤマダタロウ」(全角) (2)年月日 「20090629」⇒「2009/06/29」 (3)数字 「05」⇒「5」 左の形式から右の形式に一斉に変換したいのですが、どのようにすれば 一番効率よくできますでしょうか? ご存知の方いらっしゃいましたら、お力をお貸しください。 よろしくお願いいたします。

  • エクセルでデータの突き合わせ

    新しい職場で各々が管理しているデータを統一しようと思っています。 sheetA 住所・氏名・氏名カナ・生年月日・台帳番号・個人データ *住所は住居表示変更前のものあり *氏名カナは半角・全角・スペースの有無がいろいろ sheetB 住所・氏名・氏名カナ・生年月日・個人データ *住所・氏名は旧字のものあり *氏名カナは半角のみ sheetA・Bとも約3000件あります。 データの順序はそれぞれ違います。 sheetAにあり、sheetBにはない。またその逆でsheetBにはあるがsheetAにはない人もいます。 まず、sheetA・Bとも住所・氏名・生年月日が一致するデータを抽出したい そして、sheetAにありBにないデータの一覧、sheetBにありAにないデータの一覧を作りたいのですが、関数を使用して作成することはできますでしょうか。 関数にあまり詳しくないので、細かく教えていただくとありがたいです。

  • EXCELのA列に全て入ってしまったデータをセル毎に表示したい。

    あるホームページにTableタグで記述された表があります。 その表をドラッグ選択でコピーし、EXCEL2003にテキスト形式で貼り付けると、EXCELのA列に各行のデータが全て入ってしまいます。 tdタグ毎に、EXCELのセルに振り分けて表示したいのですが、どうすればよいでしょうか。 【試したこと】 1)文字コードを変換すればよいのかと思い、解らないながらもStirling1.31というソフトで文字コードをみると、列の間は[20]というコード?になっておりました。半角スペースで入力したデータも同じく[20]と出ますので、tdタグは半角スペースとして認識されているのでしょうか。 文字列にも普通に半角スペースがまぎれているので、tdのコードのみをどう変換したらよいのかわからず、閉じました。 2)EXCELのファイルをテキスト形式で保存し、開くときにスペース区切りを選んで、区切りたい位置をクリックして、"フィールドの幅"というものを設定したものの、文字の長さが行ごとに違うので固定の幅では上手くセル毎に振り分けられませんでした。 至らない説明で申し訳ありません。ホームページのデータをダイレクトにEXCLEにテキストで貼り付けるという方法からして間違っているのでしょうか。 600件以上あるデータで困っています。 詳しい方ご教授願います。 どうぞよろしくお願いいたします。

  • excelで1セル毎のバイト数指定できますか?

    excelのデータをテキスト(スペース区切り)形式で保存した時、セル1マスを10バイト右詰め(半角10文字以下はスペース)にしたいのですがどのようにすればよいでしょうか?どなたかアドバイスお願いします。 例)  ______ |7.50│ ----- ↓ テキスト形式に変換 □□□□□□7.50 ※□1個を半角スペースと考えてください

  • excelで置換が上手くいきません

    excel for office365を使用しています。 各セルに文章が書かれていて、句読点が全角で「,」「.」になっているのを「、」「。」に置換しようとしたところ、「1. 」「2. 」のような「数字+半角カンマ+半角スペース」で書かれている部分が「1。」「2。」といった感じに置換されてしまいます。 関数を使用せずに置換だけでこれを回避する方法をご教示ください。 自分で試した方法としては、一旦「.」を全て「。」に置換した後、ワイルドカードを使って「[0-9]。」を「[0-9]. 」に置換しようとしましたが該当無しとなり、「?。」を「?. 」で変換したら数字部分が全て「?. 」になってしまいました。 ワイルドカード部分を据え置きでそれ以外だけ置換するというのは仕様上できないのでしょうか?

  • Excelでの置換の仕方

    昨日もこちらでお世話になり、問題が解決いたしました。 そしてそこで疑問がまた浮上してきました。データーで数字の全角と半角の物が混ざっているので、データーの処理上、半角に統一をしたいと思っています。昨日いただいた回答の中に「事前に「置換」でスペースを削除し、=ASC(A1)等で半角」とアドバイスがありました。 しかしどのように使用していいのか分かりません。 「編集」→「置換」そして検索する文字列とか置換後の文字列とかいろいろと選ぶ項目があると思うのですが、そこからが分かりません。 どうかアドバイスをよろしくお願いいたします。

  • エクセル2007で年月日時分秒の入力ができない

    エクセルで期間計算をする時に年月日時分秒の入力が正しくできません。 月日、時刻、年月日の入力は適切な書式で入力され、引き算で期間の日数や時間数を計算できます。しかし、年月日時分、年月日時分秒の入力が計算できる書式で入力できません。入力後の書式設定が標準のままです。 <例> 2012/7/15 5:45と入力しますと2012/7/15 15:45と左詰のままでセルに2012/7/15 5:45と入力され表示形式は標準のままです。年月日時分秒の入力が標準(文字列?)にならず計算できる書式、たとえばユーザ定義のyyyy m d h:mmなどになる入力のしかたを仕方を教えてください。年月日と時分秒の間は半角スペースです。よろしくお願いいたします。

  • データのエクスポート

    エクスポートするときに、出力データの改行を半角スペースなどに変換する方法を教えてください。

  • Accessのデータ変換方法

    かな漢字、カタカナ、アルファベット、数字の含まれるデータフィールドがあります。 カタカナは全角のままで、アルファベットと数字を半角に変更する方法はありますでしょうか。 データの文字数、カナ→数字などの順は統一性がありません。また、スペースも含まれていますがスペースも削除した状態が望ましいです。 ご存知の方がいましたら教えてください。

専門家に質問してみよう