エクセルのマクロまたは関数でお願いします。
Sheet2に参照をおきます。
A列 B列
1 青森
2 岩手
3 秋田
C列 D列
1 docomo
2 ezweb
3 softbank
データと答えはSheet1に出します。
A列(データ) B列 C列(答え)
3_01 3 秋田
2_02 2 岩手
1_01 1 青森
上記の参照はSheet2のA列B列です。
データと答えはSheet1に出します。
D列(データ) E列(データ) F列(答え)
aaaa 3 aaaa@softbank
bbbb 1 bbbb@docomo
cccc 2 cccc@ezweb
上記の参照はSheet2のC列D列です。
上記の1行目はいずれも項目行です。
データおよび答えは2行目からにお願いします。
Sub main() Dim a As Long Dim b As Long s1 = "Sheet1" s2 = "Sheet2" For a = 2 To Sheets(s1).Range("A2").End(xlDown).Row c = Sheets(s1).Cells(a, "A") If InStr(1, c, "_") > 0 Then d = Left(c, InStr(1, c, "_") - 1) d = Val(d) For b = 2 To Sheets(s2).Range("A2").End(xlDown).Row If Sheets(s2).Cells(b, "A") = d Then Sheets(s1).Cells(a, "C") = Sheets(s2).Cells(b, "B") Exit For End If Next b End If d = Sheets(s1).Cells(a, "E") For b = 2 To Sheets(s2).Range("C2").End(xlDown).Row If Sheets(s2).Cells(b, "C") = d Then Sheets(s1).Cells(a, "F") = Sheets(s1).Cells(a, "D") & "@" & Sheets(s2).Cells(b, "D") Exit For End If Next b Next a End Sub
下記URLにエクセルワークブックを置きました。
http://rct3jp.info/hatena/hatena_inosisi4141_110429.xls
恐らく、こんな感じで宜しいのではないかと思いますが、いかがでしょうか。
http://rct3jp.info/hatena/hatena_inosisi4141_110429b.xls
ありがとうございます。
今回はURLが開かないので確認できないのですが
もう一度ファイルを置き直したのでご確認下さい。こちらからは読めてます。
「=VALUE(LEFT($A2,SEARCH("_",$A2,1)-1))」
B2より下方のセルについては、そのB2セルをコピペして下さい。
ファイルが開いて読めました。
B列も上手く行きました。
これでOKです。
早速使わせていただきます。