プロが教える店舗&オフィスのセキュリティ対策術

excelについて質問です。

シートAに下記の記述をします。

   A    B
1 項目名 セル番地
2 ○○  B7

のような形で、シートBからセル番地を引っ張ってくる方法はありますでしょうか。
セル番地が難しいようであれば、行、列を返す形でもよいです。

上手く質問ができず、申し訳ありません。
できればVBAは使わず、関数で処理できるとベターです。
宜しくお願いいたします。

A 回答 (4件)

「対象のセルが複数存在することはない」というのが前提になりますが。



A2の値をSheetBのA1:Z99の範囲から探し、そのセルのセルアドレスを返す。

=IF(COUNTIF(SheetB!$A$1:$Z$99,A2)=1,ADDRESS(SUMPRODUCT(ROW(SheetB!$A$1:$Z$99)*(SheetB!$A$1:$Z$99=A2)),SUMPRODUCT(COLUMN(SheetB!$A$1:$Z$99)*(SheetB!$A$1:$Z$99=A2)),4),"#Error!")

Excel2003で動作確認済。

■ある範囲のセルから任意の値を検索して、
 その隣のセルの値を取得するという関数はありますか?
http://oshiete1.goo.ne.jp/qa3680269.html
    • good
    • 1

もっと順を追った形の質問にできないのかな。


Sheet1の
   A    B
1 項目名 セル番地
2 ○○  B7
のA2に文字列を入れる。
Sheet2のシートからその文字列の入っているセルを探したい。
そして番地をB2に表示したい。
ーーー
また質問の不完全なところ。
(1)Sheet2のB列・1列の中を探すのか。多列の中を探すのか。
関数では制限があるのだ。VLOOKUPの類と、MATCHぐらいしかないが
どちらも多列の検索はできない。
(2)1回限り出現ないし、該当なしを前提にできるのか。2つ以上
現れるのか。
VLOOKUPの類と、MATCHとも2度目以降の出現行は捉えられない。
探索に使う関数は数個しかないのだが、関数を知らないから、上記のことも思い及ばないのだろう。
VLOOKUPの類と、MATCHぐらいしかない。
WEBででも「エクセル 関数 検索」で照会したら、どういう関数があるかすぐ判るはずだ。それらの解説を読んで、わからない点を質問すべし。
ーー
以上関数ではできないケースでは、VBAを勉強する必要がある。
関数で
例データ
Sheet2
B列   C列
タナゴB1
りんごB2
ほうれん草B3
バターB4
C列はオートフィルで、自動で作れる
Sheet1で
A2に
バターB4
B2には
=VLOOKUP(A2,Sheet2!$B$1:$C$100,2,FALSE)
の式を入れる。
B2に番地そのものを出しても余り使い道内と思うが、それでよいのかな。
普通はバターの単価とかその属性を取るのだが。
質問を全貌的にしないと、回答が直使えないし、再質問が必要になるよ。
    • good
    • 0

> セル番地が難しいようであれば、行、列を返す形でもよいです。


難しいというより いちいち番地で返す意味がないのでは?
二度手間かと思います。

=INDEX(SheetB!B:B,MATCH(A2,Sheet!A:A,0))

エラー対策は入れていませんが やりたいことはこういうことではない
のでしょうか?
    • good
    • 2

B3:B100にデータがあるとして


="B"&(MATCH(A2,B3:B100,0)+2)
または
=ADDRESS(MATCH(A2,B3:B100,0)+2,2,4)
MATCH(検索値,対象範囲,検索方法)は対象範囲(1列or1行)の先頭を1として、該当する位置を表示します。
上記の場合、B3→1,B4→2,B5→3,B6→4,B7→5となるので+2すればOK

横方向の場合はADDRESS関数の方を使ってください。
=ADDRESS(2,MATCH(A2,C2:AZ2,0)+2)
上記の場合、C2→1,D2→2,E2→3,F2→4,G2→5となるのでC=3にするのに+2すればOK
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!