- 締切済み
エクセルで、半角に置換すると日付に
使用機種はxp、エクセル2003で作業をしています。 住所録の番地部分のみのセルなのですが、 「1ー2ー1」←このように、全角「長音」でつないである部分を「半角ハイフン」にしたいため、検索&置換しています。 セルの書式設定は「文字列」になっているのに、どうしても年月日に変換されてしまうセルがでてきてしまいます。 どうしたら文字列のままで置換できるでしょうか。 よろしくお願いいたします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
ご参考まで。 1.任意の空白セルにアポストロフィ「'」を入力 2.そのセルをコピー 3.番地が入力されている範囲を選択 4.編集>形式を選択して貼り付け>書式>OK 5.長音記号「ー」をハイフン「-」に置換 Excel2003で挙動確認。
#6です。 既に「'」が付加されていると「''」に庵ってしまうので、 「検索文字列」を半角で「^'*」とするほうが良いでしょう。 「'」が付加されていないセルに対しても、「^'*」は正しく動きます。 因みに正規表現で 「^」は行頭(セル内容の頭)を 「*」は「有っても、無くても」を 意味します。 従って、「^'*」は<行頭に「'」が有ってもなくても>という意味になります。
以下のアドインを導入すると、正規表現による検索・置換ダイアログが利用可能になります。 http://srcedit.pekori.jp/tool/excelre.html 解凍して出力されるテキストファイルを良く読んで、指示通りにインストールします。 このダイアログを表示させるのは「CTRL+R」です。 ○全ての住所(番地)のセルの頭に「'」をつける 1.住所(番地)の入力されている列全体を選択しておく。 2.「CTRL+R」で正規表現詮索・置換ダイアログを表示させる。 3.「置換」タブをクリック。 4.「検索文字列」に半角「^」を、「置換文字列」に半角「'」を入力し、 「全てを置換」をクリックします。 これで、全ての頭に半角「^」がつけられます。 例;「1ー2ー1」→「'1ー2ー1」 このアドインは「おまけ」として、正規表現ワークシート関数が使えるようになります。 ワークシート関数や正規表現については、添付のテキストファイルを参照して下さい。 ご参考まで・・・
- vista2446
- ベストアンサー率46% (131/279)
文字列「1ー2ー3」の「ー」(長音)を「-」(ハイフン)に変換されたため「日付文字列」として認識されてしまうようです。 #1さんの関数による置換も再計算で同じ結果となるので、#2さんの提示された「'」(アポストロフィ)を追加後に置換されることをおすすめします。 「'」の追加方法は、列を挿入後、その列を選択、「'」を入力して「Ctrl」+「Enter」で一括入力します。番地が入っているセルを全選択してコピー、アポストロフィが入力された列に値のみ貼り付ければOKです。それから置換作業を行い不要な列やセルを削除しましょう。「'」は数式バーには表示されますが、セルには表示されません。
- makimaki13
- ベストアンサー率0% (0/0)
A1が問題のセルだとして、 (1)A1のーを「全角」ハイフンに置換 (2)B1に=ASC(A1) (3)B1をA1へ値で貼り付け ではいかがでしょうか?
- htmcr
- ベストアンサー率36% (11/30)
#2です ASC(A1)では長音はハイフンになりませんね。 ごめんなさい、見落としていました。
- htmcr
- ベストアンサー率36% (11/30)
番地セルをA1とした場合 列を追加して 「=asc(A1)」 とする 置換でやりたいなら セルを編集して「1-2-3」を「'1-2-3」とすれば 置換後も日付になりません
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 (1)仮に番地列をA列としてB1に=SUBSTITUTE(A1,"ー","-")を設定して下方向にコピー (2)B列をコピー→A列を選択→形式を選択して貼り付け→値のみチェック→OK (3)B列を削除