• ベストアンサー

条件に一致する行のセルに値を入れるには

シート1の「600」の値をシート2の「2006年」と一致するセルの隣に表示させたいのですがどのような関数を使えばよいのでしょうか? 宜しくお願いします。 シート1 ----------------------------------------    A   B  C 1 西暦   値 2 2006年  600 3  ---------------------------------------- シート2 ----------------------------------------    A   B  C 1 西暦   値 2 2005年 3 2006年  600 ← 2006に一致した値 4 2007年 5 2008年 ----------------------------------------

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

シート2のB2セルに =IF(ISNA(VLOOKUP(A2,Sheet1!A:B,2,FALSE)),"",VLOOKUP(A2,Sheet1!A:B,2,FALSE)) と入力し、B2セルを下方向にコピー。

gon-gon
質問者

補足

出来ました! chie65536さんありがとうございます。 すみませんが下記のようなことはできないでしょうか? シート2 ----------------------------------------    A   B  C 1 西暦   値 2 2005年 3 2006年  600 ← 2006に一致した値 4 2007年  600   5 2008年  600  「2006年」に一致したものを含みそれ以降にも 同じ「600」の値を入れたいのですが どのようにすればよろしいでしょうか? 宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

この質問はあいまい(別の意味にも解釈される)と思う。 シート1のA2に年(数字)を入れて、シート2の年がA列で順並びにあるとき、等しい年の行のB列にシート1のB2の値をセットするとした場合、年を複数回シート1のA2にセットする用途を考えたとき、関数では不可能です。VBAならできる。 関数は値をセットしたい側セル(投げる側ではなく、受ける側のイメージ)で式を入れないといけないからです。 だから受ける側が決まっていない(かつ2,3個のセルでない場合)場合関数では難しく(不可能)なります。 以前にシート1のA2に2005、B2に300をセットして、次にシート1のA2に2006、B2に600と入れると2005の300は消えてしまう。 1 西暦   値 2 2005年  300 3 2006年  600  となってほしいなら不可能ということです。 シート1のA2み1回限りの入力であるなら シート2のB2に =IF(A2=Sheet1!$A$2,Sheet1!$B$2,"") と入れて下方向に式を複写する。 しかしこれを使えるケースは想像しにくい。 質問は、正確に、全体的な質問者の真意を伝えていますか。

gon-gon
質問者

お礼

imogasiさん回答ありがとうございます。 なんとか解決しました。 質問があいまいで大変申し訳ございませんでした。 いろいろ想定して回答していただき誠にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#16474
noname#16474
回答No.2

=IF(ISNA(VLOOKUP(A2,Sheet1!A:B,2)),"",VLOOKUP(A2,Sheet1!A:B,2)) では。 false を取るとtrueを指定したことになり、 検索のときに該当値が無いときに、上位の値をセットしてくれます。

gon-gon
質問者

お礼

出来ました! h20060121さん回答ありがとうございます。 こんなに簡単に出来るとはビックリです。 IF関数を複雑に考えていましたが、この方法で バッチリできました。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセル

    二つのシートのセルを比較して、あるセルの値が一致した場合に、片方のセルの値を 別のシートに設定するには、どうしたらいいでしょうか? [シート1] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? 02|A2 yyy 03|B1 ??? 04|C1 sss [シート2] --|A---B---C---D---E --+---+---+---+---+--- 01|A1 aaa 02|A3 bbb 03|B0 xxx 04|B1 ccc 05|C1 sss シート1 [Aのセル]とシート2の[Aのセル] を比較し、同じ値だった場合に、 シート2の [B] の値を シート1の[C]に設定するための関数はどのようにしたら良いでしょうか? 最終的に、シート1が --|A---B---C---D---E --+---+---+---+---+--- 01|A1 ??? aaa 02|A2 yyy 03|B1 ??? ccc 04|C1 sss sss となります。 Excelの関数あマクロは、どうしても分からなく質問させてもらいました。 申し訳ありませんが、ご教授宜しくお願い致します。

  • エクセルでセルの条件が一致したら、値を挿入したい

    エクセルで2つのシートの2つのセルの条件が一致したら、シート2の該当の部分をシート1に挿入したいのです。 例 Sheet1 A    B    C 1 社員A 100 2 社員B 200   3  社員A 500 Sheet2 A    B    C 1 社員B 100  休み 2 社員B 700  勤務 3  社員A 100  夜勤   というような2つなシートがあり(実際には、セルの行数は3000行くらいあります) Sheet1,Sheet2の比較をしてA列、B列の値が一緒である場合、シート1にシート2の該当部分を C列に挿入したいのです。 たとえば、シート1のC列に数式をいれることになるかと思うのですが、 シート1とシート2を比較すると、   シート1のA1・B1の【社員A 100】とシート2のA3・B3の【社員A 100】が一致しているので、シート2のC3の【夜勤】をシート1のC列のC1(該当する同じ行に挿入)に挿入したいのです。 どういった式をいれたらいいかわからないので、どなたかおしえていただけたら助かります。 よろしくお願い致します。 知恵をお貸し下さい。 非常にこまっております

  • Excelにて複数条件を満たす行の特定のセルの値を返す関数

    Excelにて複数条件を満たす行の特定のセルの値を返す関数を作りたいのですが、上手く行きません。 <Sheet1>   A列  B列  C列 1 2008/6/1 ★  320 2 2008/6/1 ☆  300 : : : Sheet2のA1に、「A列が2008/6/1で、B列が☆の場合、C列の値を返す」という関数を入れたいのですが、どうも上手く行きません。 良い式がありましたら教えて下さいm(_ _)m

  • 別々の行で一致するセルの値を抽出する

       A    B 1  田中   山本 2  鈴木   佐藤 3  山本   奥田 この場合 A列とB列の両方に同じ文字がある時にC列にしるしが欲しい。もしくは別のシートにそのセルの値(文字)を反映させたい。 のですがなかなか数式が完成しません。IF関数?LOOKUP系? 誰か教えて下さい!

  • エクセル 複数の条件に一致

    複数の条件に一致したセルの内容によって、別のセルに別の文字を自動で表示したいのですが可能でしょうか? 詳細はこのような形で、 【シート1】       A     B       C 1      0001     3/1    有 2      0002     3/1    無 3      0001     3/2    不明 【シート2】       A     B       C 1             3/1      3/2 2      0001       ○      △ 3      0002       ×     "空欄" ・シート2のB2からC3を自動で表示できるようにしたい。 ・シート1のA列とシート2のA列が一致、更にシート1のB列とシート2の1行が一致。 ・シート1のC列が「有」の場合「○」、「無」の場合「×」、「不明」の場合、「△」、「空欄」の場合、「"空欄"」と表示。 知りうる限りの関数を合わせてみましたが、できませんでした。 どなたかいい方法を教えて頂ければと思います。 環境はXPpro、エクセル2000です。 宜しくお願いします。

  • 基本の別シートの値と一致・不一致のチェック

    2つ目のシートのEセルとGセルの値が、1つ目のシートのAセルとQセルの値と一致しているかチェックをしたいのですが、 実際にどのような式を入れたら良いのかわかりません。 大変困ってしまっています。 何方か、ご教示頂けると大変幸いです。 1つ目のシートには基準となる値が入っています。2つ目のシートは入力されたデータが入っています。 比較するセルの値は1つ目のシートは空白は入っていませんが、2つ目のシートは、空白や全く違った値が入っています。 結果は、以下のように出力させたいです。 2つ目のシートのEセルの値と1つ目のシートのAセルの値が一致し、1つ目のQセルの値と2つ目のGセルの値が一致した時、2つ目のシートの最後の列へ『OK Aセルの値、Qセルの値』、 2つ目のシートのEセルの値と1つ目のシートのAセルの値は一致したが、1つ目のQセルの値と2つ目のGセルの値が一致しなかった時、2つ目のシートの最後の列へ『NG Aセルの値、Qセルの値』 1つ目のシートのフォーマットは、以下のようです。 Aセル     Qセル 果物     ランク オレンジ    B レモン     C バナナ     A パイナップル  D 2つめ目のシートのフォーマットは、以下のようです。 Eセル     Gセル 果物     ランク バナナ     D 空白      空白 スルメイカ   空白 鞄        B レモン      C メロン      A バナナ      A 以上 ご教示宜しくお願いいたします。

  • 結合したセルの左上以外のセルから値を参照したい

    エクセルで、セルA1:C3を結合しています。 =A1 として参照する場合には、結合セルの値を参照できますが、 =B1とか=A2とかのように参照すると、0が表示されてしまいます。 B1やA2のセルを指定した場合にも、結合セルの値を参照できるような シート関数はないのでしょうか。 =KANSU(B1)とか=KANSU(A2)とした場合に、 結合セルの値を得られるシート関数を教えてください!

  • エクセルでの関数を使った条件抽出方法について

    エクセル初心者です。 エクセルでの関数を使った条件抽出方法についてどなたかご教授願います。 よろしくお願いします。 Sheet1の特定のセルに対して、Sheet2中にある条件に一致するセルの値を 表示させる方法がわかりません。 <具体的内容> 次のような2つのシートがあります。 Sheet1       -------------------------     A     B     C  1                2  2  費目1 3  費目2 4  費目3 ------------------------- Sheet2 -------------------------     A     B     C     D 1  2          1     2     3 3  費目2   100   200   300 4  費目1    30    10    20 5  費目3   150   350   250 ------------------------- Sheet1のC1のセルと同じ数値をSheet2の2:2行から探して、 一致する数値に該当する列の3~4行目の値を、 Sheet1のA2:A3の費目とSheet2のA3:A5の費目とが 一致するようにして、Sheet1のB2:B3に表示したいです。 このときSheet1のB2~B3にはどのような関数式を入れたらよいですか? 上の場合だと、Sheet1のB2=10、B3=200、B4=350となってほしいです。 HLOOKUP、COLUMNなど組み合わせてみたのですが、 全くうまくいきません。簡単ではないのでしょうか? どなたか教えてください、よろしくお願いします。

  • 複数の条件に合う行の特定のセルを返す

    ほぼ同じ質問をいくつか見かけたのですが、その式を自分の内容に置き換えても全く希望通りの結果が出ず、質問させてください。 2 1 Aさん 4 1 Bさん 5 1 Cさん 2 2 Dさん 5 2 Eさん セルのA1には「2」、B1には「1」、C1には「Aさん」と入ったシートがあり、例えばセルのD1に A列、B列ともに「2」が入力されている4行目のC列「Dさん」という値が反映して欲しいのですが、その関数が分からなく困っています。 他にもA列が「5」、B列が「1」の結果が(Cさん)が欲しい時もあり、条件にはA列の値とB列の値を使う方法で考えています。 お知恵を貸してください。

  • 関数が入っている列で値のある最後のセルの値を返す

    お尋ねします。 関数が入っている列で式の値が入っている一番下のセルの値を調べるにはどうしたら良いでしょうか? 例      A列   1   5   2   10   3   13   4   (式の値が無いのでゼロ) B1セルにA3セルの13と言う値を返したいのですが、列に式(SUMPRODUCT関数)が入っていて、実際はA4セルのゼロが返ってきます。 またシート1~シート5 まで上記と同じ式が入っていて、シート1のA列の最後の値「13」をシート6のB1セルに値を返す場合、INDIRECT関数を使った場合、どういう式になるでしょうか? ご回答よろしくお願いします。

専門家に質問してみよう