人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です。

A列
aaa111
222bbb

の文字列を

B列 C列
1 docomo.ne.jp
2 ezweb.ne.jp

を参照キーとして

D列にある数字
1
2

の答えを
E列にメールアドレスとして
aaa111@docomo.ne.jp
222bbb@ezweb.ne.jp

A列の文字列を
つなげて上記のように表示できる
エクセルのマクロまたは関数を教えてください。

●質問者: inosisi
●カテゴリ:コンピュータ インターネット
✍キーワード:DoCoMo EZweb ne.jp エクセル キー
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● SALINGER
●30ポイント

E1の数式を次のようにして下にコピー。

=A1 & VLOOKUP(D1,B:C,2,FALSE)

◎質問者からの返答

@マークは自動的にドメインの前に付けるのは無理ですか

無理であればE列に@マークを置いても良いですが。

よろしくお願いします。

だだダブルクリックしてコピーしたいのでその辺も考慮して位置をお願いします。

ほかの方法でデータの最後までコピーできる方法があれば教えてください。

データは5000行以上はあります。


2 ● きゃづみぃ
●40ポイント ベストアンサー

vlookupでも できますが マクロで作りました。

Sub main()
Dim b As Long
Dim e As Long

For b = 1 To Range("D1").End(xlDown).Row
 c = Cells(b, "D")
 For e = 1 To Range("B1").End(xlDown).Row
 If Cells(e, "B") = c Then
 Cells(b, "E") = Cells(b, "A") & "@" & Cells(e, "C")
 Exit For
 End If
 Next e
Next b

End Sub

◎質問者からの返答

ありがとうございます。

B列C列の参照キーが1だけしか持ってこないのですが

ちなみにB列C列の参照キーは全部で13行あります。

よろしくお願いします。


3 ● readmaster
●10ポイント

要するに、

1,2などの数字キーで検索した結果を返したいということだと

思いますので、VLOOKUP関数が適切かと思います。

例えば、

=A1&"@" & VLOOKUP(D1,$B$1:$C$3,2,FALSE)

などです。


VLOOKUP(検索したいデータ,検索範囲,左から何列目の値を返すか,完全一致ならFALSE)

という具合です。


ここでは、

検索したいデータ D列の数字、

検索範囲 B列とC列の 数字とドメイン名、

左から何列目の値を返すか C列のドメイン名なので2

完全一致なのでFALSEを指定。

あとは、メールアドレスのために、A列と@を文字列として付加しています

◎質問者からの返答

ありがとうございます。

問題の出し方が説明不足で申し訳ありません。

B列C列の参照キーは全部で13行あります。

B列は1から13までの数字になっています。

よろしくお願いします。


4 ● volvicn
●10ポイント

こんな感じでいががでしょうか?

E1に以下の値を入れて、2行目以降にコピーする。

=A1&"@"&VLOOKUP(D1,$B$1:$C$2,2,TRUE)

◎質問者からの返答

ありがとうございます。

1だけはうまく行きました。

問題の出し方が説明不足で申し訳ありません。

B列C列の参照キーは全部で13行あります。

B列は1から13までの数字になっています。

よろしくお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ