OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Excelで置換が意図したようにできない(ハイフンを消したい)

  • 困ってます
  • 質問No.154026
  • 閲覧数2286
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 90% (445/491)

Excel97です。
電話番号のデータからハイフンを取りたいので
置換で検索する文字列に「-」、置換後の文字列に
何も入れないで置換を押したら頭1ケタの0(ゼロ)まで
消えてしまいました。書式設定は文字列にしました。
ハイフンを消す方法は他にもあるとは思いますが、
どうして上記のような現象になってしまうのか
知りたいです。お願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。
おそらく、"-"を""(空の文字列)に置換後、いったん数値として認識しているからではないでしょうか。書式設定が標準のセルに、「0123」と入力すると、「123」と表示されるのと同じで、最初に先頭の「0」を取った状態にしてからセルに表示するので、いくらセルの書式を文字列にしてもダメなんじゃないでしょうか。
私の憶測ですが。
ちなみに、"-"をとったものを別のセルに書くには、次のような面倒な方法があります。
A1に「03-1111-2222」と入力してあったとして、B1に

  =REPLACE(REPLACE(A1,FIND("-",A1,1),1,""),FIND("-",REPLACE(A1,FIND("-",A1,1),1,""),1),1,"")

と入れれば、B2に「0311112222」と表示されます。
多分これより簡単な方法を他の回答者が教えてくれると思いますので、あくまで参考程度に。
では。
お礼コメント
yuko6

お礼率 90% (445/491)

早々に回答をいただいたのにお礼遅くなってすみません。
ありがとうございました。
それにしてもなんで0消えちゃうんでしょうね。
maruru01さんが例えに出してらした、「0123」も文字列にすれば
問題なくゼロも表示されますよね。それと同じなら
消えるのはおかしくないですか?
投稿日時 - 2001-10-28 13:14:26
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.2
レベル10

ベストアンサー率 50% (72/143)

こんばんわyuko6さん、xruzです。 A1に電話番号があった場合、A2に=SUBSTITUTE(A1,"-","")と入れればできるはずですが。。。 できない場合はA2をセルの書式で「文字列」にしてみてください。 SUBSTITUTE関数は変換値を文字列として返すので0が消えない(はず?)。 がんばってくださいね。 ...続きを読む
こんばんわyuko6さん、xruzです。
A1に電話番号があった場合、A2に=SUBSTITUTE(A1,"-","")と入れればできるはずですが。。。
できない場合はA2をセルの書式で「文字列」にしてみてください。
SUBSTITUTE関数は変換値を文字列として返すので0が消えない(はず?)。

がんばってくださいね。
お礼コメント
yuko6

お礼率 90% (445/491)

お礼遅くなってすみません。
この方法は簡単そうですね。
それにしても何で消えちゃうんでしょう。
納得がいきません。
投稿日時 - 2001-10-28 13:15:19
  • 回答No.3
レベル14

ベストアンサー率 28% (4323/15250)

間違っていたらごめんなさい。私のエクセルの経験から、 エクセルのセルは、数字の連なりの中に「-」が入った データを入力すると、全体を文字と解するのではないで しょうか。 類似して、数字の連なりの中に「英字」が入ったデータが 入力されても、文字と解するのではないでしょうか。 そしてセルの左詰で表示されます。 (例)1123a12 したがって、置換により、データの中に「-」がなくなると 数字 ...続きを読む
間違っていたらごめんなさい。私のエクセルの経験から、
エクセルのセルは、数字の連なりの中に「-」が入った
データを入力すると、全体を文字と解するのではないで
しょうか。
類似して、数字の連なりの中に「英字」が入ったデータが
入力されても、文字と解するのではないでしょうか。
そしてセルの左詰で表示されます。
(例)1123a12
したがって、置換により、データの中に「-」がなくなると
数字データと解釈され、先頭の「0」は省かれ、右詰に
表示される。そこで
例えば、A列に電話番号が入っているとする。(10行までとする。)
対策としては,
(1)B列に空白列を挿入する。
(2)ツール-マクロ-VBEをクリックし、
VBEの画面を出し、該当シートをクリックし、
  左上でWorksheet、右上でActivateをクリックして選択する。
  (1)と(5)が出るから、その間に(2)、(3)、(4)を打ち込んで
  下さい。
  Private Sub Worksheet_Activate()           (1)
  For i=1 to 10        (2)
Cells(i,2)="'" & Cells(i,1)  (3)
Next i             (4)
End Sub             (5) 
内容は、A列の先頭に「’」(シングルクオーテイション)をつけ、B列にセットするプログラムを作っている。
(3)VBE画面で、「実行」(横三角マークをクリック)する。
 するとB列の各データの先頭に「’」がつく。
(4)B列について、普通の置換(「-」から空)を行う。
上記(2)のVBのところが、操作か関数で出来れば良いが小生は判らず、ごめんなさい。誰か教えてください。
お礼コメント
yuko6

お礼率 90% (445/491)

ありがとうございました!
投稿日時 - 2001-10-28 13:16:38
  • 回答No.4
レベル12

ベストアンサー率 51% (254/492)

こんにちは  以下のページがご参考になるのでは? 【エクセル技道場】-関数-セル内のスペースを削除 http://www2.odn.ne.jp/excel/waza/function.html#SEC56 ...続きを読む
こんにちは

 以下のページがご参考になるのでは?

【エクセル技道場】-関数-セル内のスペースを削除
http://www2.odn.ne.jp/excel/waza/function.html#SEC56
お礼コメント
yuko6

お礼率 90% (445/491)

ありがとうございました。
早速ブックマークに登録しました。
しかしやはりここでも置換の方法が書いてありましたね。
実は会社でそんなにExcelとかに詳しくない人に
教えるにはこの方法が一番だと思ったのですが
関数を使わないとできないというのは残念ですね。
投稿日時 - 2001-10-28 13:22:37
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ