• ベストアンサー

エクセルで、数字列の中にハイフンを入れる方法

エクセルのある列で、 001003 002013 104023 ・・・・ のように、6桁の商品コードが1500行くらいあるのですが、 これを 001-003 002-013 104-023 といった感じで、真ん中にハイフンを入れたいのです。 「置換」などの方法を使って、いっきに全行の商品コードに ハイフンを挿入する方法はありますでしょうか? どうぞ、よいお知恵がありましたら、教えてください。

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

  • ベストアンサー
  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.3

a1に001003が入力されていた場合 B1に =LEFT(A1,3)&"-"&RIGHT(A1,3) を入力します。 001-003 次に B1を選択してマウス右クリックー>コピー C1を選択してマウス右クリックー>値 で C1に 001-003 が表示されます。 ここで A1列とB1はいらなくなりますよね。

Romduol
質問者

お礼

なるほど、なるほど。 とても勉強になりました。 ありがとうございます。

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

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

この質問もそうだがエクセルの勉強不足で (1)文字列になるがセルの値をー入りにする (2)セルの値は元のままで見た目をー入りにする の区別が付いてないのだろう。 データも数字か、文字列かも書いてない。 コードは数字でも文字列にすル場合があるが、質問に書いてない。 文字列なら(2)は不可能であるが、LEFT関数とRIGHT関数(またはMID関数)の問題になり、やさしい。 文字列の関数を本(やWEB)でも読んで勉強のこと。 ーー (2)で良いのでは?質問者のニーズは? 置換というのは、セルの値を置き換える仕組みで、(1)のことを暗に含んでいるが、質問者は、はっきり書いていないこと、ここでのコーナーの質問者には、判ってない人が多いので、そこまで判ってないのだろうと思う。 ーー 書式ーセルーユーザー定義ー000"-"000 で良いのでは。 またセル範囲を指定して、表示形式を設定すると多数のセル(範囲)に1回で設定できる。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

A列に何かそういうデータがあったとして どこかてきとーな空き列に =TEXT(A1,"000-000;;;@") と記入してリスト下端までコピー 数式セル範囲をコピーし,元データに「型式を選んで貼り付け」の「値」にマークしてOKし,置き換えます。 作業が出来たら,数式列は削除して構いません #別の方法 データ列を選んでセルの書式設定の表示形式を「標準」に直す データメニュー(Excel2007以降ではデータタブ)の「区切り位置」を開始し,そのまま完了する データ列を選んでセルの書式設定の表示形式でユーザー定義を開始し 右の欄に 000-000 と設定してOKする。

Romduol
質問者

お礼

なるほど、どんどん数式が短くなっていきます。 知らない関数をいくつも教えていただきました。 有難うございます。

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

置換では基準となる文字列が確定できませんので、別列に関数で編集した後に既存列を上書きしては如何でしょうか。 仮にデータがA列の1行目から入力されているとします。 (1)空き列を選択、数式バーに=IF(A1<>""<REPLACE(A1,4,,"-"),"")を入力、ctrl+enterキー同時押下 (2)空き列を選択、コピー→A列を選択→形式を選択して貼り付け→値を選択→OK (3)空き列を削除

Romduol
質問者

お礼

なるほど、回答ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.1

すべて桁数も同じで、挿入箇所も一緒ということであれば、 一旦テキストエディタにコピーして、キーマクロで挿入していくのが一番簡単な気がします。 サクラエディタなどの一部フリーウェアでも行うことができるので手軽です。 強引に関数などを駆使してエクセルで行うこともできるとは思いますが、最終形がそうなればいいというだけなら、上記が一番手順が簡単で応用も利くとおもいます。 今後も6桁の続いた数値でデータが蓄積され、自動でハイフン付に変換していきたいということであれば、別の回答を待ってください。

Romduol
質問者

お礼

回答ありがとうございました。

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

関連するQ&A