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

エクセルのある列で、

001003
002013
104023
・・・・

のように、6桁の商品コードが1500行くらいあるのですが、

これを
001-003
002-013
104-023

といった感じで、真ん中にハイフンを入れたいのです。

「置換」などの方法を使って、いっきに全行の商品コードに
ハイフンを挿入する方法はありますでしょうか?

どうぞ、よいお知恵がありましたら、教えてください。

A 回答 (5件)

a1に001003が入力されていた場合


B1に
=LEFT(A1,3)&"-"&RIGHT(A1,3)
を入力します。
001-003


次に
B1を選択してマウス右クリックー>コピー
C1を選択してマウス右クリックー>値

C1に
001-003
が表示されます。
ここで
A1列とB1はいらなくなりますよね。
    • good
    • 5
この回答へのお礼

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

お礼日時:2011/10/20 16:57

この質問もそうだがエクセルの勉強不足で


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

A列に何かそういうデータがあったとして


どこかてきとーな空き列に
=TEXT(A1,"000-000;;;@")
と記入してリスト下端までコピー

数式セル範囲をコピーし,元データに「型式を選んで貼り付け」の「値」にマークしてOKし,置き換えます。
作業が出来たら,数式列は削除して構いません




#別の方法
データ列を選んでセルの書式設定の表示形式を「標準」に直す
データメニュー(Excel2007以降ではデータタブ)の「区切り位置」を開始し,そのまま完了する
データ列を選んでセルの書式設定の表示形式でユーザー定義を開始し
右の欄に
000-000
と設定してOKする。
    • good
    • 5
この回答へのお礼

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

お礼日時:2011/10/20 17:00

置換では基準となる文字列が確定できませんので、別列に関数で編集した後に既存列を上書きしては如何でしょうか。


仮にデータがA列の1行目から入力されているとします。
(1)空き列を選択、数式バーに=IF(A1<>""<REPLACE(A1,4,,"-"),"")を入力、ctrl+enterキー同時押下
(2)空き列を選択、コピー→A列を選択→形式を選択して貼り付け→値を選択→OK
(3)空き列を削除
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/20 16:55

すべて桁数も同じで、挿入箇所も一緒ということであれば、


一旦テキストエディタにコピーして、キーマクロで挿入していくのが一番簡単な気がします。
サクラエディタなどの一部フリーウェアでも行うことができるので手軽です。

強引に関数などを駆使してエクセルで行うこともできるとは思いますが、最終形がそうなればいいというだけなら、上記が一番手順が簡単で応用も利くとおもいます。

今後も6桁の続いた数値でデータが蓄積され、自動でハイフン付に変換していきたいということであれば、別の回答を待ってください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/20 16:53

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

このQ&Aを見た人はこんなQ&Aも見ています