• ベストアンサー
  • すぐに回答を!

Excelの関数で求めた値を行数として使用出来ますか。

例えば A1 =A2+5 A2 10 という値が入力されていた場合、A1には15が表示されると思います。 ここで、A3の関数として=HLOOKUP(A2,A15:D15,1)のような関数を入力する場合A15:D15の値をA(A1):D(A1)のように使うことは出来ませんでしょうか。 要するに関数で出した値を行数として使用することは出来るかということです。 INDIRECT関数も試してみましたがだめでした。 最悪、関数で求めた値でなくてもセルに入力されている値を行数として使用できれば構いません。 マクロ等を組めば出来ることかもしれませんが、そのような時間もないので解決策があれば教えていただけますでしょうか。 よろしくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数80
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • mshr1962
  • ベストアンサー率39% (7417/18947)

A3=HLOOKUP(A2,A15:D15,1) 上記の解は A:Dが昇順でA2と同じ値がある場合=>A2の値 A:Dが順不同でA2を超える値が先にある場合=>その直前の列の値 A列がA2より大きい値の場合=>#N/A A:DがA2より小さい値の場合=>D列の値 それでいいのでしょうか? 方法1 A3=HLOOKUP(A2,INDIRECT("A"&A1&":D"&A1),1) 方法2 A3=HLOOKUP(A2,INDIRECT("A"&A1):INDIRECT("D"&A1),1) 方法3 A3=HLOOKUP(A2,OFFSET($A$1,A1-1,0,1,4),1)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

mshr1962さん 早急なご回答有難うございます。 無事求めることが出来ました! 私の使い方がよくなかったのですね‥

関連するQ&A

  • EXCELで、ある行のみ抽出したい(マクロ・関数)

    こんにちは! マクロまたは関数を使って、列DがA1のとき、次に続く行で、かつD1の行のみを残したい(もしくは新しいワークシートにコピー)と考えています。 なお、A1の入る行はいくつもあり、それらすべてを抽出できたらと思います。 何か良い方法はありますでしょうか? よろしくお願いいたします。

  • Excelで入力した数値を行番号として使用したい

    「一覧」と「抽出」というexcelブックがあり、今は「抽出」ブックで作業しています。 セルA1には以下のような数式が入力されています。 ='[一覧.xls]'!A1 A2には 『='[一覧.xls]'!B1』、 A3には『='[一覧.xls]'!C1』、 A4には『='[一覧.xls]'!D1』・・・・・。 と、続きます。 ここで、各セルの内容をその都度一気に変えたいと思います。 今はすべて「一覧」ブックの1行目を参照していますが、 全て5行目にしたり、20行目にしたいのです。 参照したい行数をセルB1に入力し、 ='[一覧.xls]'!A【B1に入っている数値】 というような式をイメージしています。 INDIRECT関数を使用すればよいのかと思い試行錯誤しましたが うまくいきませんでした。 いい方法があったら教えてください。 ※質問が分かりにくくて申し訳ありません。  自分でも何が言いたいのか分かりにくいと感じています。

  • INDIRECT関数 エラーになる

    Sheet1とSheet2があり、 Sheet1のA1には「tset」という値が入っています。 そこで、Sheet2の任意のセルに Sheet1のA1の値を入れたいのですが 「=Sheet1!A1」なら可能なのに Sheet2のA1に「Sheet1」と入力し Sheet2のA2に「=INDIRECT(A1)!A1」とするとエラーになります。 このような場合は、INDIRECT関数を使えばいいと知ったのですが 何が間違っていますか?

その他の回答 (1)

  • 回答No.1

>INDIRECT関数も試してみましたがだめでした。 ""をつける場所が間違えているのでは? =HLOOKUP(A2,INDIRECT("A" & A1):INDIRECT("D" & A1),1)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

spnlightさん そのようですね‥ Excelは不慣れなもので手探りの中色々試していました。 ご回答ありがとうございました。

関連するQ&A

  • エクセルの他シートのセルの値をセル範囲で指定

    エクセルの他シートのセルの値をセル範囲で指定 お願いします。 sheet1のA1からA3まで1,2,3と入力されていてセルB1にA1:A3と入力されています。 sheet2のA1にsum(sheet1!A1:A3)と入れると6になるのですけれど、 A2にSUM(INDIRECT(sheet1!(B1))と入れると0になってしまいます。 これをどのように解決したらいいですか? よろしくお願いします。

  • Excelの入力値検索について

    Excel2000の数式(関数?)で困っています。 「A1」~「A20」の中で一番下に入力した値を「A30」に出力する方法を教えていただけないでしょうか。 「A30」のセルに記述する数式(関数)がわからなくて困っています。 例1.「A1」~「A20」に全て値が入力されている場合    → 「A30」には「A20」の値を入力 例2.「A1」~「A12」に値が入力され、「A13」~「A20」は空欄の場合    → 「A30」には「A12」の値を入力 例3.「A2」「A5」「A17」に値が入力され、左記3セル以外は空欄の場合    → 「A30」には「A17」の値を入力 宜しくお願い致します。

  • Excelで入力のある最大行数を取得できますか?

    こんばんは。 Excelの関数で以下の値を取得できますか? 行は可変です。 行を追加して、行に入力のある時、 その行の行番号を知りたいのです。 やりたいことは D1の位置にA1からAnまでの合計を 入れたいのですが。 D1=sum(a1:??) ??に関数にて入力のある最大のn番目を取得できれば できるきがするのです。 A : B:C:D 1:100: : :ここにA1からAnまでのSumをいれたい。 2:150: 3:80 n:100 お分かりの方宜しくお願いします。

  • マクロにて最終入力セルを選択し、それ以降の行を閉じる

    よろしくお願いします。 例えば、 A列に文字を入力しています(入力範囲はA1:A300) A15が最後の入力となりました。 A16以降の行をA300まで閉じる。 このマクロを、他のシートからマクロにて選択したときに処理をしたいのですが。 環境は、XP・2003です。

  • エクセルの関数なんですが

    エクセルの関数なんですが 一つの場所にSUM合計を入れる方法なんですが。 A1に1 B1に1 C1に2 D1に3 A2に2 B2に2 C2に0 D2に2 A3に3 B3に0 C3に0 D3に5 の時 一行目(A1~D1)が1の時 その行の合計(SUM)をE1に出す方法 合計は7になるのですが

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • エクセルのINDIRECT関数内で変数を使う方法は?

    エクセルのINDIRECT関数内で変数を使う方法は? エクセルのINDIRECT関数内で変数を使う方法がわかりません。 INDIRECT("'"&AA7&"'!A1:A100")の「A100」の「100」を、 別のセルの値(例えばB1のセルの数値)で可変にしたいんですが、「&」や「INDIRECTの入れ子」を使ってもうまくいきません。 どなたかINDIRECT関数でセルの数値を可変にする方法をご存知ですか?

  • エクセルVBAでワークシート関数のようにしたい

     例えば、セルA1に日付を入力して、セルB1に関数WEEKDAYが入力されていると、すぐセルA1の値を返してくれますが、これと同じことをVBAで再現したいのですが、可能でしょうか?  マクロやVBAでWEEKDAYを記述しても、「ツール」→「マクロ」→「マクロ」か「VBA」でやらないとA1の値をB1に返せないので、A1に日付を入力した瞬間、B1に値を返したいのですが、よろしくお願いします。

  • EXCELの関数式内に他のセルの値を取り込む方法?

    EXCEL2002、OSはWIN XPです。よろしくお願いします。 セルのA1にランダムな数字が入ります(実際はマクロでシートの最下行が書き込まれるようになっています。) セルのB1に以下のような式で「xx」の部分にA1の値を入れたいのですが、どのようにすればよいのでしょうか? =countif(C1:Cxx,"") つまりセルB1にはC1からその時使用されている最下行までの空欄セル数を常に表示したいのです。マクロでやれば簡単だと思いますが、できれば関数で表示させたいと思っています。よろしくお願いします。

  • エクセル 数値の中に○○がある場合数値を返す関数

    エクセルについて質問させて下さい。 A1のセルに185001という数値がありB1以降、下のセルには185002、185003というように 数値が入力されています。 A2には100と入力されていた場合、 A1に85001という数値があった場合、A2の値をA3に飛ばしたいのですが どのような関数を使用すればよろしいでしょうか? よろしくお願い致します。

専門家に質問してみよう