• ベストアンサー

エクセルでの文字列の操作(エクセル初心者)

地域の私的なグループのデータの修正を頼まれました。 エクセルで作成されたファイルなのですが、次のようなことをする必要がある。 1.123456という文字列を3桁で区切り、123-456というようにハイフンを入れる 2.12 34 5678というようにスペース混じりの文字列のスペースの部分をハイフンにして12-34-5678というようにする 3.ある列の全カラムのうち、文字数が20文字を超えるセルを抽出する エクセル初心者ばかりなので、手で修正することも考えたのですが、全員、仕事のある身、省力化したいと考えています。 折角、エクセルになっているのだから良い方法はあるのでは思うのですが、如何でしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • mythism
  • ベストアンサー率52% (45/86)
回答No.2

1. A1セルに123456と入力されているとします. =LEFT(A1,3)&"-"&RIGHT(A1,3) 2. A1セルに12 34 5678と入力されているとします. =SUBSTITUTE(A1," ","-") *スペースは半角スペースを想定しています. 3. A列の1行目からに文字列が入力されているとします. B1に =LEN(A1) と入力すると,A1セルの文字数が表示されますので, あとはB1を下方向にコピーします. これで20文字を超えているかどうかの判断が楽になります. 更に自動化したいのであれば,メニューの「データ」-「フィルタ」から「オートフィルタ」を使ってみてはいかがでしょうか. オートフィルタの詳細は,Excelのヘルプをどうぞ.

buck
質問者

お礼

回答ありがとうございます。 早速、試してみました。 本当に助かります。

その他の回答 (2)

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.3

少し補足。 1について EXCELでの見た目だけ変われば良いのであれば、#1さんの書式を使うやり方でOK. データとして変えたいのであれば、#2さんの関数を使うやり方になります。 2について もし、元データが「12 34 5678 」という風に最後にもスペースが入っていたら「12-34-5678-」となっちゃいますのでご注意ください。(#1さんのやり方でも#2さんのやり方でもです。) 3について #2さんのやり方で文字数を数えた後、条件付書式で20文字超のセルのみ赤くするとかいったこともできます。 具体的には =LEN(A1) の式を入力&コピーする予定のセルを選択し(例えばB1~B10を選択ということ)、メニューバーから、 書式-条件付き書式と選択。 「セルの値が」はそのまま。次の「次の値の間」の部分を「次の値以上」にして、一番右に「20」(20はOKなら21)を入力 最後に[書式(F)]ボタンをクリックして、パターンで網掛けの色の赤を選択 としてから、 =LEN(A1) の式入力&コピーの操作をすれば、20以上のセルが赤くなります。

buck
質問者

お礼

回答ありがとうございます。 二つの回答の違いがわかり、助かります。 仲間と相談してみます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

1.書式>セルの書式設定>表示形式でユーザー定義を選択 種類欄に 000-000 と入力する。 2.編集>置換で 検索する文字列に[ ](スペースを入力) 置換する文字列を[-] 「完全に同一なセルだけを検索する」にチェックがあったらはずす。 「置換」または「すべて置換」を押す。 3.A列の文字長さを見るなら、空いている列に =LEN(A1)>20 (全角も1文字とする場合) =LENB(A1)>20 (全角を2文字とする場合) この結果がTRUEと表示されたものが20文字を超えるセル

buck
質問者

お礼

回答ありがとうございます。 早速、試してみました。 本当に助かります。

関連するQ&A

専門家に質問してみよう