- 締切済み
Excelの機能について
次のようなことをやりたいのですが、excelにあるどの機能(関数など)を使えばよいかご教授いただければと思います 「G‐グリシン」「W‐トリプトファン」のように、Sheet1に予めルールを入力しておき、 Sheet2で、例えばA1に「G」と打てばB1に「グリシン」と表示する よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず初めに、記号と名称の関係を表した一覧表を、適当な所に作って置きます。 ここでは仮にSheet1のC2セルからD21セルまでの範囲を使う場合に関しての話とさせて頂きます。 Sheet1のC列には、 C2セルに A C3セルに C C4セルに D (中略) C20セルに W C21セルに Y と入力し、 Sheet1のD列には、 D2セルに アラニン D3セルに システィン D4セルに アスパラギン酸 (中略) D20セルに トリプトファン D21セルに チロシン と入力して下さい。 次に、Sheet2のB1セルに =VLOOKUP(A1,Sheet1!C2:D21,2,FASE) という数式を入力して下さい。 以上で完了ですから、後はSheet2のA1セルに記号を入力するだけです。 尚、上記の数式では、記号を入力するセルに、何も入力されていない場合や、リストに無い記号が入力された場合には、エラーとなりますから、この点を改善した数式を、以下に記させて頂きます。 =IF(ISNA(VLOOKUP(A1,Sheet1!C2:D21,2,FASE)),IF(A1="","","(該当無し)"),VLOOKUP(A1,Sheet1!C2:D21,2,FASE)) こちらの数式では、記号を入力するセルに、何も入力されていない場合には、何も表示されず、リストに無いコードが入力された場合には、 (該当無し) と表示されます。 【参考URL】 エクセルで、基シートのデータを別シートに自動表示 | ANo.2 | OKWave http://okwave.jp/answer/detail/q5664384/a16352125.html
マクロならば次のプログラムで目的が達成されます。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/2/14 ユーザー名 : ' Dim i As Integer, mymyword As String '検索語 Dim myword As String Worksheets("sheet2").Activate myword = Cells(1, 1) 'MsgBox myword '検索 Worksheets("sheet1").Activate For i = 1 To 10 'MsgBox (Left(Cells(i, 1), 1)) If Left(Cells(i, 1), 1) = myword Then 'MsgBox Cells(i, 1) mymyword = Mid(Cells(i, 1), 3, 10) Exit For Else 'MsgBox "NO" End If Next Worksheets("sheet2").Activate Cells(1, 2) = mymyword ' End Sub
- soixante
- ベストアンサー率32% (401/1245)
関数の VLOOKUP で解決でしょう。