個人事業主の方必見!確定申告のお悩み解決

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

このQ&Aに関連する最新のQ&A

A 回答 (7件)

#6の回答者です。



#5 さんのご指摘の、「別の意図」と考えてみて、add0804さんのおつくりなったものが、ブックとしては、あまりに展開を広げすぎてしまった場合に、これ以上の関数の設置は、少し考え直したほうがよいのではないか、と思います。

もしも、VBAに組み込むとしたら、あえて、こうした関数の方法をお選びになるよりは、Find メソッドのほうが簡単かもしれません。値がヒットすれば、Range オブジェクトが、戻り値として返ってきます。その上で、戻り値に、Address プロパティを取れば、文字型のアドレス値に変わります。

仮に、Index や VLookUp 関数をVBA上で、お使いになられてもよいのですが、コード的には、Findメソッドのようなパターン化はあまり知られていない以上、使い方がややこしくなるような気がします。

この回答への補足

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

補足日時:2008/05/06 02:55
    • good
    • 0

こんばんは。



=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関数を含めて、大量に用いるのでは、ワークーシートは重くなってしょうがないのです。実際、前回の質問とあわせると、それほど、先の見通しもなく使える関数ではなさそうです。

これも、一種のジレンマですね。これを揮発性関数に依存しない方法ということになると、実際は、マクロになってしまうものだと思いますが、それを移植するには、広範囲の場合は、なかなか手間が掛かります。
    • good
    • 0

基本的には#2さんの方法で正解ですが、


「『A3』と表示させたい」というその先に、
もっと別の意図があるように感じます。

差し支えなければ、何故このように表示したいのかを
書いていただくと、もっと本来の目的に沿った回答が
得られるにではないかと思います。
    • good
    • 0

安直ですが、次の方法は如何でしょうか。


="A"&MATCH("とら",A1:A5,0)
    • good
    • 0

ちょっと凝ったやり方だが


=MAX(IF(A1:A10="sd",ROW(A1:A10),""))
と入れて
SHIFT,CTRL,ENTERの3つのキーを押す。
(配列数式)
番地にしたければ
="A"&MAX(IF(A1:A10="sd",ROW(A1:A10),""))
SHIFT+CTRL+ENTER
    • good
    • 0

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

    • good
    • 0

こんな感じのとか。



= address(vlookup("とら",$A$1:$A$5,1,false))
    • good
    • 0

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング