- ベストアンサー
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個になるので単純にはいきませんよね…? 頭が働かなくて方法が思いつきません…>_<… いつも説明が悪くてみなさんを困らせていますが(__;) 知恵を分けてください。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
項目の並びが同じなら、offset関数ではダメですか。 例えばデータ入力がSheet1として 「あ」(Sheet1!A2)から行はそのまま、列は月の数字だけ右に移動するということで =OFFSET(Sheet1!A2,0,$A$1,1,1) 「い」、「う」も基準セルのみ変更すればOKです。 例示されている形式ならそのままドラッグしてコピーすれば 使えます。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ 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を使っているのは、実際データ行数より多くてもかまわないから適当数設定しただけ。
お礼
回答ありがとうございました。変に考えすぎていたようで、入力表を手直しした結果、OFFSETのみでできました。ありがとうございました!
- mshr1962
- ベストアンサー率39% (7417/18945)
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)
お礼
回答ありがとうございました。変に考えすぎていたようで、入力表を手直しした結果、OFFSETのみでできました。ありがとうございました!
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 (例) ・データシートをSheet1 ・帳票シートをSheet2 ・帳票シートのB2セル =OFFSET(Sheet1!$A$1,MATCH($A2,Sheet1!$A$2:$A$100,0),MATCH($A$1,Sheet1!$B$1:$M$1,0))
お礼
回答ありがとうございました。変に考えすぎていたようで、入力表を手直しし、解決しました。MATCH関数を使うと、#N/Aが返されるのは、検索値が並べ替えされていないから…ですよね?見直すと、質問の例は昇順になっていますが、データ入力すると必ずしもそうならないことがわかりまして…結果、OFFSETのみでできました。ありがとうございました!
お礼
変に考えすぎていたようで、回答を頂いて目からウロコが落ちました…OFFSET関数でサクッとできますね。(^◇^;)たすかりました。ありがとうございました!