A1セルに 120@12345@AA となっている場合、@の間の12345をB1に取り出す方法を教えていただきたいです。また、1@12-1345@k@12345などの場合 やはり@の間の12-1345を抜きだしたいです。
色々調べたのですが、@の前後の文字数が一定でないのと、@が複数含まれている場合と色々混在している為、私の力では不可能でした。どなたか良い方法を教えて下さい。
120@12345@AA → 12345
1@12-1345@k@12345→ 12-1345
2@1234@A@2222 → 1234
上記の様に取り出したいです。よろしくお願いいたします
No.1ベストアンサー
- 回答日時:
@は全角ですね。
区切り位置機能が最も簡単です。
「データ」ー「区切り位置」で「カンマやタブなど…」を選択して「次へ」→「区切り文字」を「その他」ー「@」を指定して「次へ」→「表示先」を適当なセルを選択して「完了」で分割されます。
例示の内容なら分割された範囲の2列目が求める内容になるでしょう。
関数だと
=MID(A1,SEARCH("@",A1,1)+1,SEARCH("@",A1,SEARCH("@",A1,1)+1)-(SEARCH("@",A1,1)+1))
VBAだと
Sub 分割()
Dim i As Long
Dim n As Variant
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
n = Split(Cells(i, 1), "@")
Cells(i, 2) = n(1)
Next i
End Sub
お返事が遅れて申し訳ございません。全て教えていただき感謝しております。
ご教授の通り完璧に出来ました。素晴らしいの一言です。今後は自分でもこの様な組み合わせ技を作れるように努力いたします。
No.4
- 回答日時:
関数であれば
SEARCH関数やFIND関数で文字列中にある特定の文字の場所を検査して特定できる。また文字列の何文字目から検査を始めるのか指定できる。
MID関数で文字列の中から範囲を決めて文字を抜き出すことができる。
LEFT関数は文字列の左から文字数を指定して文字を抜き出せる。
RIGHT関数は文字列の右から文字列を指定して文字を抜き出せる。
これらの関数の組み合わせで可能です。工夫してみてください。
VBAであれば文字列の先頭から1文字ずつ抜き出して@から@までの文字を繋げばよい。
No.1とNo.2の回答ではそれぞれ示されていますが、
エラーになるケースを考慮してないので、回答にある関数式やVBAを利用するときは
自身で対策を考えておきましょう。
エラーになる例:@が2つ未満の時。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) Excelにて、セルに入力してある文字の中から文字と最後の数字のみ切り取り貼り付けるVBA 5 2022/12/27 08:40
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
スペースとスペースの間の文字を抽出する関数
Excel(エクセル)
-
エクセル関数 文字(ハイフン)と文字(ハイフン)の間を抽出
その他(パソコン・スマホ・電化製品)
-
指定文字 ( と、指定文字 )の間の文字を抽出
Excel(エクセル)
-
-
4
Excelにて、ハイフンとハイフンの間の文字を抽出したい
その他(パソコン・スマホ・電化製品)
-
5
エクセルの関数で、記号などを抽出もしくは削除したい
Excel(エクセル)
-
6
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
7
メールアドレスの@の前後の呼び方を教えていただけませんか。
Outlook(アウトルック)
-
8
excelに貼り付けた数値が勝手に変わってしまう
その他(Microsoft Office)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列の後ろから必要分だけ削...
-
Accessのクエリで、replace関数...
-
◆COUNTIF関数またはダブルクォ...
-
右から何文字目にあるか文字位...
-
ボイヤ・ムーア法のアルゴリズ...
-
【VB.net】特定の文字から7文字...
-
文字数と単語数を数えるプログラム
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
ExcelのINDEXとMATCH関数でスピ...
-
i=cells(Rows.Count, 1)とi=cel...
-
VB.NETで DataRow()を利用して...
-
VBAでセルをクリックする回...
-
Excelのハイパーリンクにマクロ...
-
Excelのセルの色指定をVBAから...
-
【Excel VBA】指定行以降をクリ...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
【Excel VBA】先頭の「0」飛び...
-
VBA:小数点以下の数字を取得で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
文字列の後ろから必要分だけ削...
-
UNICODE文字が含まれているかの...
-
ダブルクォーテーションを文字...
-
エクセル関数で記号から記号の...
-
文字列にアルファベットが何文...
-
awk で右端の文字を1文字削除...
-
strcmp( )関数について教えて...
-
C言語でギリシャ文字は使えます...
-
CSVの禁則文字
-
URLで使える文字・使えない...
-
vb.net IVSの漢字を1文字切り...
-
VS C++6.0のCString にて先頭1...
-
環境依存文字?をEnumで定義したい
-
GetDlgItemTextについて
-
アルファベットを含むランダム...
-
◆COUNTIF関数またはダブルクォ...
-
VB 文字判別
-
文字数と単語数を数えるプログラム
-
VBScriptでXcopyしたいのですが
おすすめ情報
関数で難しい場合はVBAでもかまいません。ご教授お願いいたします。