• 締切済み

こんなこと関数を使ってできますか?

A1~A5に「ねずみ・うし・とら・うさぎ・たつ」が入力されています。 「とら」を検索して、「とら」と入力されているセルが「A3」なので、 B1のセルにその「A3」を表示させることってできますか?

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

#6の回答者です。 #5 さんのご指摘の、「別の意図」と考えてみて、add0804さんのおつくりなったものが、ブックとしては、あまりに展開を広げすぎてしまった場合に、これ以上の関数の設置は、少し考え直したほうがよいのではないか、と思います。 もしも、VBAに組み込むとしたら、あえて、こうした関数の方法をお選びになるよりは、Find メソッドのほうが簡単かもしれません。値がヒットすれば、Range オブジェクトが、戻り値として返ってきます。その上で、戻り値に、Address プロパティを取れば、文字型のアドレス値に変わります。 仮に、Index や VLookUp 関数をVBA上で、お使いになられてもよいのですが、コード的には、Findメソッドのようなパターン化はあまり知られていない以上、使い方がややこしくなるような気がします。

add0804
質問者

補足

前回も含めいろいろとありがとうございます。(前回の質問は削除されてしまいましたが) いろいろと試行錯誤を繰り返し、関数に頼らずマクロで操作できるようになりました。 その結果容量は1MB以下にすることができました。ただ、上書き保存時の動作は遅いですが・・・

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。 =SUBSTITUTE(CELL("address",INDEX(A1:A5,MATCH("とら",A1:A5,0),1)),"$","") この数式が返ってきている値は、実際の場所の値です。 INDEX関数の戻り値は、Range型です。 VLOOKUP関数の戻り値は、文字(Variant型)です。 MATCH関数の戻り値は、数値(Variant型)です。 しかし、こんな内容が問題になってきます。 http://support.microsoft.com/kb/401634/JA/ [XL]変更していないブックを閉じる際保存するか尋ねられる場合 ここで、CELL関数が、槍玉にあがっています。 単純に、ひとつや数個の数式を用いて解を出すについて、あれこれ「揮発性関数」がどうとかは、単にExcelの知識だけの話なのですが、VLOOKUP関数を含めて、大量に用いるのでは、ワークーシートは重くなってしょうがないのです。実際、前回の質問とあわせると、それほど、先の見通しもなく使える関数ではなさそうです。 これも、一種のジレンマですね。これを揮発性関数に依存しない方法ということになると、実際は、マクロになってしまうものだと思いますが、それを移植するには、広範囲の場合は、なかなか手間が掛かります。

noname#79209
noname#79209
回答No.5

基本的には#2さんの方法で正解ですが、 「『A3』と表示させたい」というその先に、 もっと別の意図があるように感じます。 差し支えなければ、何故このように表示したいのかを 書いていただくと、もっと本来の目的に沿った回答が 得られるにではないかと思います。

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

安直ですが、次の方法は如何でしょうか。 ="A"&MATCH("とら",A1:A5,0)

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

ちょっと凝ったやり方だが =MAX(IF(A1:A10="sd",ROW(A1:A10),"")) と入れて SHIFT,CTRL,ENTERの3つのキーを押す。 (配列数式) 番地にしたければ ="A"&MAX(IF(A1:A10="sd",ROW(A1:A10),"")) SHIFT+CTRL+ENTER

noname#64531
noname#64531
回答No.2

=ADDRESS(MATCH("とら",$A$1:$A$5),1,4)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

こんな感じのとか。 = address(vlookup("とら",$A$1:$A$5,1,false))

関連するQ&A