• 締切済み

Excelの機能について

次のようなことをやりたいのですが、excelにあるどの機能(関数など)を使えばよいかご教授いただければと思います 「G‐グリシン」「W‐トリプトファン」のように、Sheet1に予めルールを入力しておき、 Sheet2で、例えばA1に「G」と打てばB1に「グリシン」と表示する よろしくお願いします

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず初めに、記号と名称の関係を表した一覧表を、適当な所に作って置きます。  ここでは仮に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

noname#192382
noname#192382
回答No.2

マクロならば次のプログラムで目的が達成されます。 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/1246)
回答No.1

関数の VLOOKUP で解決でしょう。

関連するQ&A

  • エクセルの串刺し機能で困っています

    大変困っています。 OSはwindows xpです。 エクセルで串刺し機能を使用したときに起こります。 例えば、sheetが3枚あるとします。 (1)串刺し機能でsheet1~sheet3まで全てを選択します。 (2)sheet1の A1に10 A2に5 を入力  B2に =A1*A2 の式を入力します。 (3)普通ならsheet2,3ともにB2には50と表示されるはずですが  実際にはR[-1]C[-1]*RC[-1]と表示されます。  sheet1は普通に50と表示されるのに。。 かなり意味がわからなくて困っています。 よろしくお願いします。

  • Excel、リンク元に指定文字列の存在を調べたい

    失礼いたします。 次のような関数式を用いて管理表を作りたいのです。 =IF(? ? ? ? ? ?,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力")    ( ※ 「○○○」の前は\ではなく\\が正しいかもしれませんが、その点は大目に見ていただきたいです) 長い関数式ですので、念のため解説をしておきます。  ○ もし「? ? ? ? ? ?」だったら、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルから右に3列移動したセルを表示してください。  ○ もし「? ? ? ? ? ?」でなかったら、「未入力」と表示してください。 ところがここで問題なのが、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルが存在しない場合があるのです。そこで、  ○ もし「? ? ? ? ? ?」だったら、~~  ○ もし「? ? ? ? ? ?」でなかったら、~~ の「? ? ? ? ? ?」には、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の「A」の列に、「A3&B3」と一致する文字列のセルが存在する、という関数を入れたいのです。そうすれば、  1.(1つ以上)存在する → TRUEを返す → VLOOKUP関数により表示される  2.存在しない → FALSEを返す → 「未入力」と表示される というように管理できます。 ところが、私の現在の知識では、(1つ以上)存在すればTRUEを返す関数として、COUNTIF関数しか知らず、使いこなせません。 そこでCOUNTIF関数を使いました。次のような式です。  COUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 関数式のすべてを書けば、 =IFCOUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 ,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力")    ( ※ VLOOKUP関数の中の「B3」には、「営業」と入力されることもあれば、ほかの文字列が入力されることもあります) すると、  ○ 通常 : 「#VALUE」が表示されてしまいます。  ○ 「XXXXX」というエクセルブックを開く : 実際に入力されているもの、もしくは「未入力」が表示されます。 そして、「#VALUE」が表示される理由を追いかけますと、COUNTIF関数の中の「A3」の箇所だけに下線が引かれ、この「A3」のためにエラーになっているのだとエクセルは教えてくれます。 以上を踏まえ、質問させていただきます。  1. COUNTIF関数は、リンクが混在する関数には適さないのでしょうか。  2. COUNTIF関数以外に、「A」列に「A3&"営業"」と一致する文字列が存在するかどうかを検索する関数があるとすれば、何でしょうか。  3. 現在、しかたなく「=VLOOKUP(~~~~)」だけにしているのですが、「未入力」と表示させたいところに「#N/A」が表示されます。これをほかの方法で、「#N/A」でなく「未入力」と表示させる方法があるとすれば、何でしょうか。 長文失礼いたしました。

  • Excelで関数が機能しなくなってしまいました

    Excelを使っていて、SUM関数を入れても計算結果が表示されず、関数として入力した式がそのまま表示されてしまいます。(例えば、=SUM(A1:A3)という形) どうしたら、再び関数を機能させるようにできるのでしょうか?

  • エクセル関数について

    エクセルの関数についてなのですが、例えば「セルA3」に「セルB2」の値を表示させるには「=(B2)」と「セルA3」に表示させてます。別のSheetの値も表示できるのでしょうか?例えば「Sheet1.Range("A3")」の値をSheet2のA1に表示させたい場合Sheet2のA1にはどのような関数を入力していけばよいのでしょうか?VBAは使わずに表示したいのですが。関数はまだほとんど使ったことがないので分かる人いたら教えてください。よろしくお願いします。

  • エクセルでこんな機能なかったですかね?

    添付画像参照 関数を使わずにセル番号を返す機能ってなかったですかね? 例えば,全A列と全B列をマウスで指定して・・ その後入力の項目が出てきて,入力欄に11を入れるとセル番号A1...A4...A5が表示される機能です。 例えば,山田と入力するとA1...A5...が返ってくる機能です。 お詳しい方宜しく願います。 関数のご回答には,お礼は省略させて頂きます。

  • Excelでこんな事。。。

    皆さんこんにちは、宜しくお願いしますm(_ _)m。  現在Excelで作り物している最中で、以下のような事が実現できないかと悩んでいます。 【シートの状況】  ・A1からA10セルまでに1~10の数字を記入  ・B1セルをデータ入力セルとする  ・B2セルに関数を入れて、機能を実現したい  ・・・つまり質問したいのはB2セルに入れる関数部分です(^^)。 【実現したい機能】  B1に数字を入力します。B1の数字がA1~A10セルの中に  あれば、B2セルに○を、無ければ×を表示。  ・・・つまり、検索をして○×判定したいんです。シンプルな関数で実現出来るだろうとタカをくくって取りかかったのですが。。。出来ない(^^;)。  この機能を基礎に、少し機能を膨らませる予定ですのでこの機能自体は極力シンプルな方法で実現させたいと思っています。  Excelが得意な皆さん、是非教えてくださいm(_ _)m。

  • Excelの関数を教えてください

    初めまして。よろしくお願いします。 関数を使って、以下のようなデータを作成することができれば、 その関数を教えてください。 Sheet1には次のように入力されています   A       B 1 日付      金額 2 2010/1/1 500 3 2010/2/5  300 4 2010/1/23 10000 5 2010/2/1  200 ・ ・ ・ A列に日付、B列に金額が入力されていて、行は決まっていません。 これをSheet2に集計したいのですが、B2~B13に関数を使ってできますか? Sheet2   A     B 1 月    金額 2 1月 3 2月 4 3月 ・ ・ ・ 13 12月 14 合計 Excelがわからなくてこまっています。詳しい方、ぜひ教えてください。 よろしくお願いします。

  • エクセルの全シートのデータ反映について

    エクセルについて質問があり、投稿させて頂きました。 わかる方がいましたら、回答をお願いします。 表示用シートと入力用シートがあります。 表示用は必ず1シート、入力用は毎回シート数が異なり、シート名も変わります。 この場合、入力用シートに入力したデータを表示用シートに表示するには、どういう関数を使えば良いのでしょうか。 参照すべき入力シートのデータのセルは、どのシートも一緒です。 例) 入力用シートの、それぞれB4セルを、表示用シートのA1~A4セルに表示する。 今回はA、B、C、Dの4つの入力用シートだったが、次回はE、F、G、H、Iの5つの入力用シートになる。

  • エクセル関数INDIRECTについて

    エクセル関数 セルの参照についての質問です。 ひとつのBookの中に、AとBのシートがあります。 Aにデーターを入力し、Bに必要な部分だけセルの参照(INDIRECT)関数を使ってデーターを反映させていたのですが、Bのシートだけを別のBookとして保存した場合、INDIRECTの関数を使った部分がエラーの表示になってしまいます。(よく考えればAを参照しているので当たり前なのですが。。。) Bのシートを別のBookに保存しても参照しているデーターが消えない方法(関数)はあるのでしょうか? ご存知の方がいらっしゃいましたらご教授下さい。 (説明が下手ですみません)

  • エクセルでおしえてください

    シート1のA1~A3の合計を、B1にSUM関数で計算させてます。シート2のB1にシート1のB1に関数が入力されていれば1、関数以外の文字や数字が直接入力されている時には0を表示させるにはどうすればいいのでしょうか?。

専門家に質問してみよう