• 締切済み

Excel 関数 試験の合否を反映させる

Excelの関数が知りたいです。 sheet1 A1=受験番号、A2=氏名、A3=合否となっています。 sheet2 A1=受験番号、A2=氏名、A3=合否結果を求める場合の関数を教えて下さい。           *sheet1とsheet2の受験番号の並び方は違います。

みんなの回答

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

 ANo.4です。 >上記の計算式を入力しましたが計算できません・・・  只、計算出来ないというだけでは、何が起きたのかの説明になっていません。  当然の事ながら、どの様な結果となったのかを御説明頂けなければ、上手く行かなかった原因を特定する事は出来ませんし、原因が不明なままでは対策の取りようも御座いません。  ですから、何処をどうしたら、どうなったのかを、詳細に御教え願います。 >sheet1にデータ基があり(範囲B3:N640)  御質問文では >sheet1 A1=受験番号、A2=氏名、A3=合否となっています。 となっていますから、データ基は3行しかない事になるのに対し、範囲B3:N640は縦637行×横13列の範囲になりますし、第一、「A1=受験番号」や「A2=氏名」は範囲B3:N640の中にはありませんから、仰る事が矛盾しています。  若しかしますと、N3:N5までデータを入力した後、次の受験者のデータは、1段下がって先頭の列に戻り、A列から続きのデータが入力されているのでしょうか?  もし、そうだとしましても、1段目と2段目の間は隙間なく詰めて入力されているのか、それとも何行か間隔を空けて入力されるのかすら不明なのでは、情報不足のために関数の組み立て様も御座いません。  ですから、まずは、1人目の受験番号のデータや合否のデータは各々何というセルに入力されていて、 2人目の受験番号のデータや合否のデータは各々何というセルに入力されていて、 段数が変わった等の変化が生じた際には、変化後の最初の受験者の受験番号のデータや合否のデータは各々何というセルに入力されているのか、等々を御教え願います。  どの様な関数にした方が良いのかを考えるのはその後の話となります。

すると、全ての回答が全文表示されます。
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.6

No.3です。 正直、回答No.4やNo.5への補足を見ても、まだ表の構成がわからないです。 >データ基は横に並んでいます これでは、No.4の回答の画像のように複数人分のデータが横に並んでいるのか、一人のデータの各項目(受験番号・氏名・合否)が横に並んでいるのかが区別できません。 (No.5への補足を見る限り、後者ではないかと思いますが) >sheet1 A1=受験番号、B2=氏名、C3=合否となっています。 これでは、受験番号と氏名と合否が斜めに並んでいることになります。 「A1が受験番号、B1が氏名、C1が合否」の間違いですよね? ということで、とりあえずSheet1はA列が受験番号、B列が氏名、C列が合否、複数人分のデータが縦に並んでいると仮定します。 =IF(COUNTIF(Sheet1!A:A,Sheet2!A1),VLOOKUP(Sheet2!A1,Sheet1!A:C,3,FALSE),"") で、Sheet2のA1セルに入力された受験番号をキーにSheet1を検索して、該当する受験番号の行のC列の値(合否)を返します。

すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

あー、縦か。 失礼しました。 他の方も書かれてますが、データの並び方で数式も変わります。 その点をご注意ください。

hawaii060947
質問者

補足

何かあせってしまい動揺していました 訂正します データ基は横に並んでいます sheet1 A1=受験番号、B2=氏名、C3=合否となっています。 sheet2 A1=受験番号、B2=氏名、C3=合否結果←ここに答えを求めたいのです。

すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 まず、Sheet2のA2セルに次の関数を入力して下さい。 =IF(INDEX($1:$1,COLUMN())="","",IF(COUNTIF(Sheet1!$1:$1,INDEX($1:$1,COLUMN())),HLOOKUP(INDEX($1:$1,COLUMN()),Sheet1!$1:2,ROWS($1:2),FALSE),"(該当無し)"))  次に、Sheet2のA2セルをコピーして、Sheet2のA3セルに貼り付けて下さい。  次に、Sheet2のA2~A3の範囲をコピーして、Sheet2の表内で、2行目~3行目の、A列よりも右側にあるセル範囲に貼り付けて下さい。  以上です。

hawaii060947
質問者

補足

上記の計算式を入力しましたが計算できません・・・ もう一度、整理します sheet1にデータ基があり(範囲B3:N640) Sheet2のA3にズバリ答えを反映させたいのです。 よろしくお願いします。

すると、全ての回答が全文表示されます。
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

>sheet1 A1=受験番号、A2=氏名、A3=合否となっています。 >sheet2 A1=受験番号、A2=氏名、A3=合否結果を求める場合の関数を教えて下さい。 この書き方ではSheet1やSheet2の表の構成がわかりません。 少なくとも以下の3通りは解釈が考えられます。 (1)一人分のデータがA1、A2、A3に入っているのみ。 (2)複数人分のデータが横に並んで入っている。  一人目のデータはA1に受験番号、A2に氏名、A3に合否  二人目のデータはB1に受験番号、B2に氏名、B3に合否  三人目のデータはC1に受験番号、C2に氏名、C3に合否  (以降も同様) (3)複数人分のデータが縦に並んで入っている。  一人目のデータはA1に受験番号、A2に氏名、A3に合否  二人目のデータはA4に受験番号、A5に氏名、A6に合否  三人目のデータはA7に受験番号、A8に氏名、A9に合否  (以降も同様) Sheet1やSheet2の表の構成がそれぞれどうなっているかによって使用する関数は変わってきます。 そこが正確にわかるように書いてください。

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート2の1行目に受験番号が入力された場合に氏名を2行目に、合否結果を3行目に表示させるのでしたらA2セルには次の式を入力してA3セルまでドラッグコピーしたのちに右横方向にもドラッグコピーします。 =IF(OR(A$1="",ROW(A2)>3),"",INDEX(Sheet1!$A:$XX,ROW(A2),MATCH(A$1,Sheet1!$1:$1,0)))

すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

VLOOKUPでいいんじゃないですか?

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

関連するQ&A