• ベストアンサー

セル内に全角文字と隣り合っている電話番号を抜きだす

エクセルで、以下のような記述のセルが数万行あります。 (一つのセルに「業者名電話番号内線番号」) 業者A03-1234-1234EXT1234 業者B03-2234-2234EXT2234 業者C03-3334-3334EXT3334 : : 電話番号だけ抜き出したいのですが、うまくいきません。 エディタなど使ったほうがよろしいのでしょうか。 なにとぞご教授お願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

》 エディタなど使ったほうがよろしいのでしょうか。 「エディタなど」の使い方は知っているのですか? 添付図参照 B1: =MID(A1,FIND("0",A1),FIND("EXT",A1)-FIND("0",A1))

j-foreman
質問者

お礼

ありがとうございます。 うまく電話番号と分けることができました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! データはA列2行目からあり、電話番号は「0」から始まり、ハイフン付きで12文字だとしての一例です。 電話番号より前には数値はないという前提です。 (仮に社名に数値がある場合、関数では正確な表示ができなくなります。) B2セル以降に12桁(ハイフン付き)の番号を表示させる方法としては、関数で行う場合は B2セルに =MID(A2,MATCH(TRUE,ISNUMBER(MID(A2,ROW($A$1:$A$30),1)*1),0),12) (A列セル内は30文字まで対応できるようにしています) これは配列数式になりますので、この画面からB2セルにコピー&ペースト後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーで「0」から始まる文字12文字が表示されると思います。 他の方法としてはVBAになりますが・・ 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim str As String For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row For j = 1 To Len(Cells(i, 1)) str = Mid(Cells(i, 1), j, 12) If str Like "0*" Then '←電話番号は半角数字という前提です。 Cells(i, 2) = str End If Next j Next i End Sub 'この行まで こんな感じではどうでしょうか?m(__)m

j-foreman
質問者

お礼

ありがとうございます。 関数は希望通りの動作を確認できました。 マクロは後日試してみます。

関連するQ&A

  • 最大値のあるセルの行番号のみを求めたいです。

    エクセル2000を使用しています。 OSはXP HOMEです。 よろしくお願いします。 下のようになっているとします。 そこで二つの質問をさせていただきます。     A        B    C 1    13 2    10 3    64 4    50 5    12 B5にA1:A5の最大値の行番号を表示させるには関数を用いてどのようにあらわせばよいでしょうか? ※上記の例ですとB5には「3」が表示されるはずです。 また、C5にはA1:A5の最大値が示されているセルの行番号からどれだけ隔たりがあるかを表示させたいと思います。 ※上記の例ですとC5の行番号は「5」最大値のセルはA3ですので、行番号は「3」。 「5-3=2」となりC5には2が表示されるはずです。 お分かりの方がいらっしゃいましたらお願い申し上げます。

  • 文字入力セルにのみに番号を順に付ける

    ExcelでD3:D12に文字が入力されたあとボタン押しで同じ行B列のB1:B12に入力された文字のセル分だけ順番に番号を入力したいのですがVBAコードが解る方ご教授宜しくお願いします。 office2013です。

  • エクセルマクロを使用して異なるセルの重複データを探したい

    エクセルに以下のような値が入力されています。 A~Bは列番号 1~100は行番号 1 A B 2 11 14 3 12 15 4 13 13 . 100行まで続く A1からB100までに入力された値の中で、重複している値のセルを探して、セルの色を変えたいと考えています。 VBAを使って処理したいのですが、どなたかご教授頂けないでしょうか。宜しくお願いいたします。

  • Excelにて/文字~文字間を抜き出す関数って?

    お手数ですが、ご教授下さい。 以下のエクセルのセルがあります。        A   1 商品=りんご姓=田中名=太郎 商品は5つほど候補があり、可変です。 姓名も行分だけあります。 行は2000行ほど。今後、まだ増える予定。 これを   A    B   C   商品   姓   名 1 りんご  田中  太郎 2 かき   田中  次郎 といったように、セル毎に値を分けるのはどのようにすれば効率が良いのでしょうか? よろしくお願い致します。

  • Excel 一つのセルに文字を2行ずつ入るようにしたい

    Excelのセルに文字を入力するとき 一つのセルに1行~2行の文字を入れたいのですが どのようにしたらいいのでしょうか。 具体的にはこういうことです。 一つのセルに↓ 氏名 電話番号 またあるセルには↓ 氏名だけ (氏名の下は空白)

  • エクセルのVBAを使用したときのセル範囲について

    エクセルでVBAを勉強しています。(初歩です。初心者です。) マクロを記述したあと、エクセルシートに表示しますよね。 たとえば、今度は、Visual Basic Editorを使って、「上から3行目が赤」にしていたものを「上から5行目を青にする」という問題があったとします。Visual Basic Editor上でどうやったら、その指定しているセル範囲がわかるのでしょうか?つまり、上から3行を上から5行目にするといことです。 また、Visual Basic Editor上では、「色」を番号で表示しますが、これは覚えておく必要があるのでしょうか?たとえば「赤」は3番とか・・・・。 初心者ですのでご了承ください。

  • EXCEL 電話番号の抽出について教えてください。

    EXCEL 初心者です。 1)A1のセルに電話番号03-0000-0000又は090-0000-0000とあります。   「-」ハイフンをとりB1 C1 D1にそれぞれのセルに入れたいのですが・・・ 2)上記のほか、E1には、「-」ハイフンのみ取り除き連番としたいのです。 よろしくお願いいたします。

  • ●特定の文字が含まれるセルの行番号取得(複数あり)

    excelの関数の質問です。画像をご参照ください。 「B1」に入力した文字が含まれる行番号を取得したいです。 これが一つであればMATCH関数で出せるのですが、最大20個出現するため困っています。 画像例のように「D1」に関数で答えを出したいです(カンマでつなげたい) 検索する範囲は「A2:A10000」程度で大丈夫です。 ※行番号取得と書きましたが、1行目を作業セルで使用するため  実際は「行番号から1引いた数」となります。 似たような質問がたくさんあると思いますが、検索しても解決しませんでした。 詳しい方、ご教授いただけるとうれしいです。 よろしくお願いいたします。 --------------------------------------------- 検索値⇒ ● 結果⇒ タイトル行 ●あ い う え ●お か き く ●け こ ---------------------------------------------

  • Excelのセルの参照について

    Excelでセルを参照するにはB3やA7などのように指定しますが、以下のような参照はできるのでしょうか? 1、任意のセルに何らかの数字が入っている状態で 2、その数字を行として参照する。 たとえばA7に3という数字が入っているとします。 そのA7の値を行番号としてB3やC3を参照する、といった具合です。 あまりうまく説明できないのですが、情報が不足していましたらまた補足します。 よろしくお願いします。

  • 任意のセル番号をいれて、そこまで飛ばす方法

    EXCEL 2007を使用しています。 縦の行が数値、横の列がアルファベットとします。 たとえば、B50のセルにA1と入れれば、A1に飛ぶ(わかりやすくいうと新規でブックを開いた基本状態、A1が左角になる)、 B50のセルにM100と入れると、M100に飛ぶ(M100が左角になる) つまり、B50に任意のセル番号を入れれば、そのセルを左角としジャンプさせてシートを見たいのです。 これができれば、ベストなのですが、それ以外で候補として・・ B50に1と入れれば一行目に飛ぶ。100と入れれば100行目に飛ぶ。Zと入れればZ列に飛ぶ。 行・列別々の移動だけでもかまいません。 よろしくお願いします。

専門家に質問してみよう