• ベストアンサー

Excel2003…クロス検索??

…データ入力シート…   A  B  C  D  E 1    1  2  3  4  2 あ  0  0  1  2   3 い  0  1  2  0 4 う  1  1  0  0 ・ ・ ・ 1行目は1月、2月、3月… A列に項目 月ごとの各項目に対する数値を入力しています。 …帳票シート…   A  B  C  D  E 1    月 2 あ 3 い 4 う A1セルに「1」(月)と入力したら B2セルには「あ」の「1」月の数値0が入るようにしたいのです。データ入力シートと帳票シートの項目の並びは同じです。(項目もデータ入力シートからひっぱってもよいかなとも思っているのですが、今のところは帳票シートにも同じ項目が打ち込んであります)LOOKUP関数を使えばよいのだとおもいますが、検索値が2個になるので単純にはいきませんよね…? 頭が働かなくて方法が思いつきません…>_<… いつも説明が悪くてみなさんを困らせていますが(__;) 知恵を分けてください。よろしくお願いします。

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

  • ベストアンサー
  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

項目の並びが同じなら、offset関数ではダメですか。 例えばデータ入力がSheet1として 「あ」(Sheet1!A2)から行はそのまま、列は月の数字だけ右に移動するということで =OFFSET(Sheet1!A2,0,$A$1,1,1) 「い」、「う」も基準セルのみ変更すればOKです。 例示されている形式ならそのままドラッグしてコピーすれば 使えます。

lippi1977
質問者

お礼

変に考えすぎていたようで、回答を頂いて目からウロコが落ちました…OFFSET関数でサクッとできますね。(^◇^;)たすかりました。ありがとうございました!

その他の回答 (3)

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

例データ Sheet1のA1:E5 1 2 3 4 あ 0 0 1 2 い 0 1 2 0 う 1 1 0 0 え 5 6 2 3 Sheet2のA1:A5に 4 あ い う え A1は月数指定。 B2に =INDEX(Sheet1!$A$1:$E$10,MATCH(A2,Sheet1!$A$1:$A$10,0),MATCH($A$1,Sheet1!$A$1:$E$1,0)) B5まで式複写する。 結果は上記B列。 $E$10のように10を使っているのは、実際データ行数より多くてもかまわないから適当数設定しただけ。

lippi1977
質問者

お礼

回答ありがとうございました。変に考えすぎていたようで、入力表を手直しした結果、OFFSETのみでできました。ありがとうございました!

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

B2=INDEX(データ入力シート!$B$2:$M$50,MATCH($A2,データ入力シート!$A$2:$A50,0),$A$1) または B2=VLOOKUP($A2,データ入力シート!$A$2:$M$50,$A$1+1,FALSE)

lippi1977
質問者

お礼

回答ありがとうございました。変に考えすぎていたようで、入力表を手直しした結果、OFFSETのみでできました。ありがとうございました!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 (例) ・データシートをSheet1 ・帳票シートをSheet2 ・帳票シートのB2セル  =OFFSET(Sheet1!$A$1,MATCH($A2,Sheet1!$A$2:$A$100,0),MATCH($A$1,Sheet1!$B$1:$M$1,0))

lippi1977
質問者

お礼

回答ありがとうございました。変に考えすぎていたようで、入力表を手直しし、解決しました。MATCH関数を使うと、#N/Aが返されるのは、検索値が並べ替えされていないから…ですよね?見直すと、質問の例は昇順になっていますが、データ入力すると必ずしもそうならないことがわかりまして…結果、OFFSETのみでできました。ありがとうございました!