• 締切済み

EXCEL 入力された数値を別シートから検索したい

EXCELで、以下のようなデータシートを作成しています。   A   B   C   D   E 1 あ  10 2 い  20 3 う  30 4 え  40 5 お  50 別シートのA1に「30」と入力したら、 B1に「B3」とデータシートの「30」が入力されている セルのアドレスを表示したいのです。 もしくは行番号だけでもいいのですが、 このような場合、どの関数を使用すればよろしいのでしょうか? VBAは避けたいです。 よろしくお願いします。

みんなの回答

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

当初質問には、重大な条件漏れがあったようだ。回答者のことも考えてほしい。回答が徒労になる。 列が3列(例)の場合の例の回答を挙げる。 該当の初出のセルしか関数では捕らえられないが、エクセル関数の値は1つで、どうしようもないでしょう。 しかし技巧的な方法が必要ですよ。 例データB1:E100(A列をはずした意味はない) a 20 10 30 b 10 40 50 c 20 30 60 d 40 70 10 ・・ Eはデータのあるかもしれない最右列を指定してよい。 ーー 値70のセルを探ス例。 =INDEX($A$1:$G$100,MIN(IF(C1:E100=70,ROW(C1:E100),1000)),2) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。 B列の氏名とかが結果としてかえる。70なぞ返しても仕様がない。 ー 行と列は =MIN(IF(C1:D100=70,ROW(C1:D100),1000)) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。 =MIN(IF(D1:E100=70,COLUMN(D1:E100),256)) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。 ーー 結果は上例で d 4 4

noname#176215
noname#176215
回答No.2

=IF(ISNA(MATCH(A1,データシート!B:B,0)),0,MATCH(A1,データシート!B:B,0)) +IF(ISNA(MATCH(A1,データシート!C:C,0)),0,MATCH(A1,データシート!C:C,0)) とするか 1000行以下なら =MATCH(1,MMULT((データシート!B1:C1000=A1)*1,{1;1}),0)

noname#176215
noname#176215
回答No.1

> もしくは行番号だけでもいいのですが、 =MATCH(A1,データシート!B:B,0) でどうですか?

noname#30522
質問者

お礼

早速の解答、ありがとうございます。 質問に書き忘れてしまったのですが、   A   B   C   D   E 1 あ  10 2 い  20   60 3 う  30   70 4 え  40 5 お  50   80 となっていることもあり、その中から たとえば「70」を検索することもあるのです。 その場合、MATCH関数ではエラーが出てしまいます。 そのような場合の対処を教えていただけないでしょうか?

関連するQ&A