Excel条件に該当する行の異なるセル参照

このQ&Aのポイント
  • Excelで条件に該当する行の異なるセルを参照する方法について質問です。
  • Sheet2に記録データがあり、Sheet1のC列に該当者名を参照したい場合、どのような関数を利用すれば良いのでしょうか。
  • 現在はINDEX関数とMATCH関数を組み合わせて試していますが、うまくいっていません。
回答を見る
  • ベストアンサー

Excel 条件に該当する行の異なるセル参照

エクセル初心者ですが、質問をさせて頂きます。 関数を利用してSheet2に下記のような記録データを貼り付け   A   B  C   D 1 名前 組 成績  組内順位 2 山田 1  280   1 3 伊藤 1  233   2 4 佐藤 3  298   1 5 山本 2  264   1 6 斉藤 3  215   2 7 田中 2  256   2 Sheet1のC列に該当者名を参照する方法はございませんでしょうか?    A  B   C 1  組 順位 名前 2  1  1 3  1  2 4  2  1 5  2  2 6  3  1 7  3  2 [=INDEX(Sheet2!A:A,MATCH(AND(Sheet2!B:B=A2,D:D=B2),Sheet2!A:D,0))] このような形でC2から検査値をずらして 試してみているのですがなかなかうまくいきません。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

作業列を作って対応することが分かり易く、データが多くなっても計算に負担のかからない方法です。 シート2のE2セルには次の式を入力して下方にドラッグコピーします。 =IF(B2="","",B2*100+D2) シート1のD2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",INDEX(Sheet2!A:A,MATCH(A2*100+B2,Sheet2!E:E,0)))

Hustler9
質問者

お礼

ご教授頂いた内容で無事、作成ができました。 ありがとうございます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

方法1: =INDEX(Sheet2!A:A,SUMPRODUCT((Sheet2!$B$1:$B$10=A2)*(Sheet2!$D$1:$D$10=B2)*ROW(Sheet2!$A$1:$A$10))) と記入,以下コピー #ご質問に書かれたのと違う表の配置では上手く計算できないので,まずあなたがご質問に書いたその例の通りにまっさらエクセルに作成して練習し,上手く出来る事を確認してから本番を計算して下さい。 方法2: D2に =組=INDIRECT("RC1",FALSE) E2に =組内順位=INDIRECT("RC2",FALSE) と記入,下向けにコピー (エラーになりますが気にせず続行する。間違いやすい数式なので間違えないようによく注意する) C2に =DGET(Sheet2!A:D,1,D1:E2) と記入,下向けにコピー。 #ご質問に書かれたのと構成が違う表では上手く計算できないので,まずあなたがご質問に書いたその例の通りにまっさらエクセルに作成して練習し,上手く出来る事を確認してから本番を計算して下さい。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

Sheet2に名前検索用の値を表示する作業列を作って、Sheet1でVlookupで名前を検索して表示します。 添付の図の例では、Sheet2のA列に1列追加し、A2に↓の式を入れています。 =C2&"_"&E2 Sheet1のC1には↓ =VLOOKUP(A2&"_"&B2,Sheet2!A:B,2,FALSE)

関連するQ&A

  • エクセルで条件に一致する複数の列を取得するには

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ]  [ 山田 ][ 21 ]  [ 佐藤 ][ 76 ]  [ 鈴木 ][ 53 ] 別の「組」シートで、以下のようになっています。  [ A ][ 田中 ]  [ A ][ 佐藤 ]  [ B ][ 山田 ]  [ C ][ 鈴木 ] ここで、「組」シートのどこか空いているセル(例えばF1)に、 「Aの組の点数の合計値」を表示したいと思っています。 考えた方法としては、  1.まず「組」シートのA1からD1を順番に見て、  2.値が「A」になっている場合のみ、そのひとつ右の名前を取得して、  3.「得点」シートで、取得した名前を探し、その点数を取得し、  4.それを全て足す という感じなのですが、どういう式を書けば良いのか分かりません。 度々すみませんが、よろしくおねがい致します。

  • 【Excel】同じ行で2つの各値が一致する行の参照

    エクセルで【Sheet1】のデータから 【Sheet2】【Sheet3】の表を作成したいのですが、 いろいろ試してもわかりません。 どうか教えてください。 【Sheet1】 A B C   D E 1 2001 佐賀県 1 山田 090-000-0000 2 2001 愛媛県 2 佐藤 090-111-1111 3 2001 静岡県 4 伊藤 090-222-2222 4 2001 岡山県 5 中野 090-333-3333 5 2002 三重県 1 近藤 090-444-4444 6 2002 福島県 2 田中 090-555-5555 7 2002 岐阜県 3 吉田 090-666-6666 以下600行ほど続きます。 【Sheet2】 A B C 1 2001←入力します 2 1 山田 090-000-0000 3 2 佐藤 090-111-1111 4 4 伊藤 090-222-2222 5 5 中野 090-333-3333 【Sheet3】 A B C 1 2002←入力します 2 1 近藤 090-444-4444 3 2 田中 090-555-5555 4 3 吉田 090-666-6666 【Sheet2】【Sheet3】のA1には、 【Sheet1】のA1の値を入力します。 A2,B2,C2 A3,B3,C3 ... それぞれのセルにどんな数式を入れたら 表ができあがりますででしょうか? 【Sheet2】【Sheet3】共に、VLOOKUPで =VLOOKUP(A1,Sheet1!A1:D7,3,) =VLOOKUP(A1,Sheet1!A1:D7,4,)を使うと、 2行目はうまくいきますが、 3行目から狂ってきます。 頭が沸騰してきました! わかる方に教えていただいたほうが早いですネ、 どうぞご享受よろしくお願いいたします。

  • エクセルで条件に一致したセルの隣のセルを取得したい

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ][ 200 ]  [ 山田 ][ 21 ][ 150 ]  [ 佐藤 ][ 76 ][ 250 ]  [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、  [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に  [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。

  • エクセルで2つの条件を元に

    エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

  • セルに参照した数字を割り当てる

    A列     B列    C列 「学期」 「出席番号」「名前」      1年3学期   13 2年3学期   13 3年2学期   15 1年3学期   15 2年1学期   15 という第1シートがあり、もう1つ次のような第2シートがあります。 A列      B列 「出席番号」「名前」 01      山田 05      田中 13      佐藤 15      斉藤 第1シートのC列に第2シートに記載されている出席番号に 呼応する名前を転記したいです。たとえば、第1シートの 「学期」1年3学期/「出席番号」13の行のC列に佐藤と記載 したいです。実際のデータは1万行を超える大きなデータです。ご存知の方がいらしたら、回答お願いします。

  • (エクセル)日付に相当するデータを入力する

    シート1に以下のように、A列には氏名、C列に日付がランダムに入力されています。   A   B   C 1 山田     4/4 3:00 2 佐藤     4/3 2:00 3 石井     4/4 3:00 4 加藤     4/3 2:00 5 田中     4/1 5:00 シート2に上から順位に並び替えたいです   A   B   C   D   E   F   G 1          4/1    4/2    4/3   4/4   4/5 2  1   田中 4/1 5:00 3  2   佐藤         4/3 2:00 4  3   加藤         4/3 2:00 5  4   山田             4/4 3:00 6  5   石井             4/4 3:00 1行目のC~Gには既に4/1~4/5が入力されています。 対応するところに日付を入力し、さらにB列には氏名を表示したいです。 C2には「=IF(AND(SMALL(Sheet1!$C$1:$C$5,$A2)<D$1,SMALL(Sheet1!$C$1:$C$5,$A2)>=C$1),SMALL(Sheet1!$C$1:$C$5,$A2),"")」としてうまくいきました(C1:F6も同様)。 問題はB列なのですが、B2に「=INDEX(Sheet1!$A$1:$A$5,MATCH(SUM(C2:G2),Sheet1!$C$1:$C$5,0))」や「=INDEX(Sheet1!$A$1:$A$5,MATCH(SMALL(Sheet1!$C$1:$C$5,A2),Sheet1!$C$1:$C$5,0))」としても同じ失敗結果になりました。 両方とも、上から順に 田中 佐藤 佐藤 ←失敗(加藤が正解) 山田 山田 ←失敗(石井が正解) となってしまい、重複する日付が失敗してしまいます。 B列にどのようにしたら良いか教えてください。 よろしくお願いします。

  • エクセルで複数行を検索し該当するセルと求める。

    お知恵を拝借したいのですが。 1チーム4名で10チームの組合せ表を作りたいのですが、 例)    1   2     3    4    5 A 1組目 山田太郎 鈴木一夫 佐藤一郎 佐々木清 B 2組目 山下清  山田栄二 斉藤仁司 仲居靖 C 3組目 豊田一郎 小田琢磨 小林琢磨 中村博 ・ ・ ・ J 10組目 安田孝三 千田卓也 木村洋二 田中譲二 セル「K2」にセル「K1」で入力した氏名を入れると該当する組名を返す関数は無いでしょうか? 「K1」山田栄二→「K2」2組目 皆さんアドバイスをお願いします。

  • 2つのシートを関連づけるには?

    エクセルで以下のような2つのシートがあったとして シート1   A  B   C 1 ID  名前 金額 2 001 山田 10,000 3 002 斉藤 15,000 4 003 田中 23,000 シート2   A    B      C 1 名前 銀行名  口座番号 2 山田 A銀行  1234567 3 田中 B銀行  9876654 4 斉藤 C銀行  4567891 これを、以下のような1つのシートにするにはどのようにしたら良いでしょうか?   A    B     C     D 1 名前 銀行名  口座番号  金額 2 山田 A銀行  1234567  10,000 3 田中 B銀行  9876654  23,000 4 斉藤 C銀行  4567891  15,000 簡単な関数や、マクロで可能でしょうか? 分かる方教えてください。

  • Excelで空白のセルを詰めたいのですが・・・

    空白のセルを詰めたいのですが・・・ 次のようにしたいのですが書籍やネット等で調べたのですが、よく解らないのでどなたかご教示お願いします。 OS WinXP ExcelXP使用です。 Seet1で簡単な関数を作り、データを集計したのですが、関係のない文字や数字が入っているので、 このデータをSeet2に整理して奇数行に名前、偶数行に数値を表示させ、下記の様に空白のセルを詰めたいのです。 これを   A   B   C   D   E   F 1 山田  田中  橋本  山田  山本 2 5   2   8   5   6 3     木村  北野  橋本      木村 4     4   6   6       3 この様に   A   B   C   D   E   F 1 山田  田中  橋本  山田  山本  木村 2 5   2   8   5   6   4 3 北野  橋本  木村 4 6   6   3 空白はランダムに入っています。 A1の山田はA1=Sheet1!D2 B2の5はA2=Seet!D3、E5の山田はSeet!1=F6、E2の5はSeet1!=F7、というように同じ名前や数値でも Seet1の別々のセルを参照しています。 私の質問の仕方に不備がありましたらご指摘いただき、お解りになる方ご教示お願いします。

  • 該当リストにない行を削除させる方法

    以下のようなファイル構成で、ワークシート2に記載した該当リストを参照して、該当しない行をワークシート1から削除させるマクロを教えて下さい。 【ワークシート1】 A列 B列 C列 ・・ X列 1組 山田 10 ・・ 10 1組 田中 10 ・・ 15 2組 鈴木 15 ・・ 20 3組 高木 20 ・・ 15 【ワークシート2】 山田 鈴木 ↓↓↓ 実行結果 A列 B列 C列 ・・ X列 1組 山田 10 ・・ 10 2組 鈴木 15 ・・ 20