- ベストアンサー
住所管理。電話番号の列での「置換え」操作について
エクセルで、住所データを管理しています。 030123456701 030123456702 030123456703 039876543201 039876543202 039876543203 のように、電話番号の最後に、枝番として01,02,03のような数字を入れております。 *(同じビルで、複数の顧客がある場合などで、同じ電話番号なのに違う顧客と言った場合の為に、枝番があります。その為、大多数が01ですが、多い所では04くらいまであります。) 時に、他のソフトで使う為に「エクスポート」をするのですが、その時、末尾の2桁のせいでエラーになることがあるので、消したいのです。 *(膨大なデータ数なので、全て手動では無理なのです) 「末尾を消す」と言う操作(ありますか?)は知らないので、「置換え」メニューで、「01」を「消す」に置換えます。 その場合、上記に羅列したサンプルの番号ですと、 03消す234567消す 03消す23456702 03消す23456703 0398765432消す 039876543202 039876543203 となります。 その状態にしてから、末尾ではない所にある「消す」を、手作業で「01」に直します。 などと、置換えを何回か繰り替えしているうちに、行頭の0(ゼロ)が消えてしまうようになってしまいました。 エクセルで、電話番号を整理する時、最初のゼロが消えてしまうのを防ぐ為、行の書式設定で「文字列」を選択しているのに、置換え操作の時に、消えてしまう事があります。(消えない時もあります) 最終目的は、末尾の2文字を消せれば良いので、そこへたどり着けるアドバイスをいただきたいのですが、直行便がない場合、「置換え」の応用で何とかなりますでしょうか? その場合、置換えの時に最初のゼロが消えないようにするには、どうしたら良いでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
no.4に対する補足への回答です A1の部分を選択状態にして反転させて の後、右クリックして「コピー」を選んでください。 そして、一番下まで範囲選択したら、右クリックして「貼り付け」というのをやってみてください
その他の回答 (5)
- mysticage
- ベストアンサー率32% (52/158)
皆さんがかかれている関数をそのままセルに打ち込めばいいと思います。 例えば、私はno.2の回答をしたものですが、 A1セル(A列1行目)に 030123456701 と入ってるとします。 そしたらその隣のセルに =left(A1,10) とまるまる同じものをイコールから括弧閉じまで入れてみてください (別に隣のセルでなくてもいいですが、わかりやすいので。もしとある電話番号の入ってるセルがC16の位置にあるとします。その場合 =LEFT(C16,10)というようにしてあげてください) あとは今入れた関数のセルをコピーして、他の電話番号が入ったセルの隣にペーストしてみてください。
補足
ありがとうございます =left(A1,10)を記入したセルに、捜査結果の電話番号が出てくるのですね? A列にある元々のデータが変身するわけではないのですね? そこまではわかりましたが、データベースの1行目には、項目名があります。 さらに、データベースの行数は、1000行を超えます。 1行目の項目名が邪魔をしているのか、それともこの関数は、一個一個設定するのか、どうなのでしょうか? (1000回も設定するのは無理ですねぇ、、、) =left(A1,10)の、A1の部分を選択状態にして反転させて、A列の2行目から終わりの行までを、ポインターで選択すると、範囲の指定は可能ですが、そこでエンターを押しても、最初の電話番号(A2のセル)だけしか変換されず、行き詰っております。
- sige1701
- ベストアンサー率28% (74/260)
下2桁(右から2文字)を削除 =LEFT(A17,LEN(A17)-2)
補足
皆様、ありがとうございます 関数を教えていただいたのは嬉しいのですが、実は私は関数を使った事がありません。 これをどこに書いて、どう実行すると繁栄されるのかが、分かりません。 後一歩の所まで来てるのは実感出来るのですが、、 今一度、手ほどきをお願い出来ると大変助かります。
- mysticage
- ベストアンサー率32% (52/158)
left という関数もあります =left(A1,10) とやれば A1セルの値を左から数えて10桁まで数字を拾います。 =left(A1,8) なら、8桁目まで持ってくる という感じです。
- SUN-SUN-SUN
- ベストアンサー率21% (6/28)
REPLACEを使ったらどうですか? =REPLACE(B1,12,2,"") B1は、参照する文字列。 12は、12番目以降。 2は、12番目以降の文字数。 ""は、消す。 以上のようになります。
- SUN-SUN-SUN
- ベストアンサー率21% (6/28)
REPLACEを使ったらどうですか? =REPLACE(B1,12,2,"") B1は、参照する文字列。 12は、12番目以降。 2は、12番目以降の文字数。 ""は、消す。 以上のようになります。
お礼
ありがとうございます 出来ました。 =left(A1,10)を、いくらたくさんコピーしても、指示内容は、A列の1行目に向けていると思っていたので、まさかコピーで増殖させるとは思いませんでした。 コピーしたセルに応じて、自動的に関数の場所指定が変動するのですね。 セルを選択状態にし、セル右下の角を、ドラッグして引っぱったらできました。 ありがとうございました