アプリ版:「スタンプのみでお礼する」機能のリリースについて

1個のセルに入力した電話番号、090 1234 5678を、09012345678にしたい。
データ入力後の確認をしやすくするため、半角スペースを入れてしまいましたが、
完成データでは、スペース無しにしたいです。
半角スペースのみを、1つのシート上で、一斉に削除する方法を教えて下さい。

セル属性は現在文字列ですが、0が消えてしまわなければ他の属性に変更しても構いません。

下記に、失敗した方法を記載しておきます。
検索する文字列→置換後の文字列
テスト1)半角スペース→NUL (オプション指定しない)は失敗。最初の0が消えてしまう。
テスト2)半角スペース→NUL (オプションで置換前も後も文字列を選択)は失敗。何も変化なし。
テスト3)半角スペース→-→NUL(オプション同上。一旦ハイフンに変えてから、スペースを削除しようとするも、テスト1同様、先頭の0が消えてしまう。

よろしくお願いします。

質問者からの補足コメント

  • にんたまくん様
    関数をありがとうございます。初心者の質問ですみません。

    この関数ですが、どのセルに設定するのでしょうか?
    H列に電話番号データが入っており、
    すでにデータが入っているセルに設定したら、そのセルのデータが消えてしまいました。
    空欄のセルを使用したらいいのですか?

    また、式にある「セル番号」ですが、
    電話帳なので、電話番号が入っているのは、H2:H50 のように複数です。
    セル番号の所に、(H2:H50)のように入れても可能ですか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/11/23 13:28

A 回答 (4件)

失礼に聞こえたら、御免なさい。

お困りの様なので、何とかしてあげたいな、横でF2Fで説明する方が早いかもしれませんが。(笑)

Hセルに電話番号が入っているので、Hセルを使わずに、別のセルにして下さい。

例を添付セルに付けました。例ではBセルとCセルを使っています。(Bセルが電話番号列)
今、例では3行目から6行目までしか入っていませんが、1000行入っていても問題ありません。

cセルに関数を入力します。=SUBSTITUTE(SUBSTITUTE(ここはc行," ","")," ","")

とりあえず、1行を関数記入して、正しいか否かを確認して下さい。
OKであれば、その作成した行にカーソルを置き、右クリックします。

セルの右下端にカーソルを合わせると、カーソルが"+"に変わると思います。
そうすると、必要なだけ、100行なり、1000行なり、マウスの右クリックを
下げていけば、自動的にスペースは削除されます。

もう少し、楽にできますが、まず、関数がうまく動作できるかどうか
やってみて下さい。

ダメでしたら、また、その旨、補足して頂ければ、私のできる範囲(能力)で、回答させて頂きます。
「Excelの1個のセル内にある電話番号の」の回答画像4
    • good
    • 0
この回答へのお礼

再度ありがとうございます。昨日ログインできなくなり、お礼が遅れてしまいました。
入力済電話番号列の右に、式を入れる列を挿入して、できました。
入力済電話番号データには、スペースのある行とない行とがありましたが、
式のドラッグで、一斉に問題なくスペース無しにできました。
心よりお礼申しあげます。

お礼日時:2018/11/24 13:28

No.1さんが書いたものが、私の頭の中で描いていたものと、ピッタリ同じですが、それをマクロにしてしまいます。



'//標準モジュール
Sub RemoveSpace()
 Dim c As Variant
 Dim buf As Variant
 For Each c In Selection 'マウスで範囲を選択
  If c.Value Like "##*" Then
   buf = Replace(c.Value, " ", "", , , vbTextCompare)
   c.Value = "'" & buf
  End If
 Next
End Sub

(全角・半角スペース両方が削除されます。)

関数なら、
="'"&SUBSTITUTE(H2," ","")  

と入れて、フィル・ドラッグコピーすればよいです。(半角スペースのみという条件です)
値コピーしなければ、出だしの「"'" &」はなくてもよいけれども、その出力したものを、コピーして値で貼付けすると、0が消えてしまいますので、「'」が必要になります。「'」は、セルの値を文字列にする接頭辞で印刷等には印字されませんし、文字列としてカウントされません。

ちなみに、「NULL」は、英語で「ナル」といいます。エクセルのインストラクターでも読み間違います。意味は、英語では、「0」なのですが、コンピュータですと、「役に立たない値」という意味になります。
    • good
    • 0
この回答へのお礼

詳しくありがとうございます。昨日ログインできなくなり、お礼が遅れてしまいました。
研究してみたいと思います。

お礼日時:2018/11/24 13:29

=SUBSTITUTE(SUBSTITUTE(セル番号," ","")," ","")




上記でできることを確認しました。ごさんこうまで。
この回答への補足あり
    • good
    • 0

関数やマクロを使うことは想定してないのかな?



今試してみて、置換機能だけで成功した方法を…

①置換「0」→「'0」
②置換「 」(半角スペース)→「」(NULL)
③置換「'」→「」(NULL)

これでいかがでしょう?
    • good
    • 0
この回答へのお礼

できました!さっそくありがとうございます。
Excelは独学なので、関数やマクロは、分厚い本をめくりながらの作業になり、いつもたいてい上手くいきません。
関数やマクロを使う方法は、時間のある時に試してみたいと思います。

お礼日時:2018/11/23 13:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!