• ベストアンサー

VLOOKUP関数の列番号が式のコピーで増える

Excel2010を使っています。 VLOOKUP関数の列番号が式のコピーをすると増えてしまいます。 コピーする前から正しく式が入らないのも原因だと思います。 「#N/A」と出ません。 ところが正しく出るシートもあります。 自分が作ったブックではないので、何か間違ったことをしてあるのでしょうか。 どんなことが考えられますか。 教えてください。 宜しくお願い致します。

  • omegao
  • お礼率71% (784/1095)

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

手順: 問題の数式セルの書式設定を「必ず」標準にする 数式バーの中を1クリックしてEnterキーを押す(「必ず」行う) 数式が「正しく入った」ことを確認する オートフィルドラッグでコピーする。 以上を、必ずご自分の手を動かしてその通り実際にやってみて、結果を確認してください。 類似のご質問では勝手に「自分はこー思ったから教わった通りにやらなかった」で結局できないままのご相談が、大変多いです。 >どんな事が考えられ 数式が文字列で記入されています。 セルの表示が計算結果じゃなく「数式のまんま見えてる」状態です。 >コピーする前から正しく式が入らないのも原因だと思います。 「どのように」入ってるのか(「どうじゃない」じゃなく)をキチンと目に見える情報で提供する事で、もっと素直に素早いアドバイスが寄せられたハズです。

omegao
質問者

お礼

ありがとうございました。 具体的に入れたいとは思ったのですがそのパソコンはうちになくてできませんでした。 明日、書式設定を標準にしてやってみます。 お世話になりました。

その他の回答 (3)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

増えると困るんですか? 普通は元表の項目を順に参照するためにCOLUMN関数などで右にコピーした時に連番になるように式を入れるなどのやり方が使われます。 そういう事ではなくて、直接2と入れているのに、数字が増えるんですか? 式を提示することはできませんか?

omegao
質問者

お礼

すみません。 家のパソコンではないので具体的に入れられませんでした。 でも明日、そのパソコンでやってみます。 ありがとうございます。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

何から何まで意味がわからないです。 具体的に式などを提示して説明してもらえますか? どの引数の事でしょう?第3引数の事? こう入力したいのに、こうなってしまうとか事例を出せますか? ちなみに、列数がコピーすると増えるというところだけ抜き出すとそこにCOLUMN関数が入っているのか?と思うのですがそういう事とは違うのですか? どういう点が不都合なんでしょうか?

omegao
質問者

補足

すみません。 第3引数です。 そこは2と入力しています。 その2が式のコピーををすると3,4,5と段々と増えてしまうんです。 これでも理解していただくこと、無理でしょうか。

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

おそらくこういうことではないでしょうか。 例えばA1セルに =A2 という数式が入っているとして、A1をコピーしてB1に貼付けると、B1セルの内容は、=A2 ではなくて =B2 となります。これはエクセルの仕様です。 そうならないようにするには、 =$A2 などのように固定したい列記号に$をつけて記述します。行を固定したい時も同様です。 的外れでしたらすみません。

omegao
質問者

補足

関数の引数ダイアログボックスを出して、列番号欄に2と入れるのですが、テキスト通りにやっているのですが、そのシートではできないんです。 できないシートばかりですが、できるシートがあることも不思議です。

関連するQ&A

  • エクセルの関数 vlookup 関数で式の作り方&コピーの仕方

    vlookup関数で、下のように式を入力しますよね。 =vlookup(検索値,検索範囲,列番号) で、列番号のところはその、検索したい列番号にしなければ、いけないのですが、単純に横方向にコピーすると、列番号は、変化しないのですね・・・横に長いデータを使用しているので、列番号を一つずつ書いていくのが、面倒なのですが、みなさん、そうされているのでしょうか?? また、別件で、このように別のシートからデータを持ってくるように作った式のシートを、コピーして、別のファイルに貼り付けると、その検索先が、式を作った場所のままになってしまいますよね(コピー→貼り付けで、数式のみにしても・・・) この解決方法はないのでしょうか??当方、マクロやVBAはわからいのですが・・・・ どなたか、良い方法がありましたら教えてください。よろしくお願いいたします。

  • VLOOKUP関数についての質問です。

    VLOOKUP関数についての質問です。 例えば、シート1に、 A列    B列  C列 番号  品物  送り先 1   ばなな スーパー 2   ミカン 学校 3   イチゴ ケーキ店  あるとします。 VLOOKUP関数を用いて、 シート2に A列    B列 送り先  品物 ・   ・ ・   ・ ・   ・ とそれぞれ入力したいとして、以下のセルも同様の式を使い入力しますが いちいち式を立てて入力していくと大変です。 セルにVLOOKUP関数をコピーして使うにはどうしたらいいですか?? お願いします。

  • VLOOKUP 関数 のコピー

    エクセル2010で、VLOOKUP 関数式をセルの下に連続 コピーしたい時に、列番号が変わらないので、手で列の数字を入れています。良い方法はありますか?

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

  • VLOOKUP関数の列番号をフィルに対応させる方法を教えてください(COLUMN関数以外)

    VLOOKUP関数を横のセルにフィルして使いたいのですが、 検索範囲がA列~ではないので、列番号にCOLUMN関数を使えません。 シートのフォーマットを変えず、範囲内における列番号(範囲内で左端から何番目か、など) を返すためにはどうすれば良いか、ご存知の方教えてください。 VLOOKUP関数を横のセルにフィルしていった場合、列番号は変わらないため、 列番号にCOLUMN関数を入れて列番号を返すようにするとうまくいきますよね。 ただ、COLUMN関数は単純に列番号を返すだけなので、この方法は VLOOKUP関数の検索範囲がA列から始まっている場合のみにしか使えません。 シートのフォーマットを変えず、VLOOKUPにおける範囲がB列以降になる場合、 範囲内における列番号(範囲内で左端から何番目か、など)を返すための関数 もしくは他に何か良い方法をご存知でしたら、お教えいただけませんでしょうか。 売上12ヶ月分+利益12ヶ月分が横に広がっている定型フォーマットがあるのですが、 24ヶ所の列番号を手入力で直すのって非効率的なので・・・。 どうぞ宜しくお願い致します。

  • ExcelのVLOOKUPの列番号を一括で変更したい

    検索しても自分では見つけられなかったので、質問させてください。 私はExcel2007の一個前のものを使っています。 仕事上、sheet1でVLOOKUPを使い、sheet2(データ入力用シート)の情報を読み取るブックを使っています。 作った人とは連絡が取れないので、知恵をお借りしたいです。 そのExcelのVLOOKUPでは、sheet2の14列目を読み取るようにしていますが、13列目に列を挿入して、15列目(挿入前は14列目)を読み取るようにしたいです。 しかし、sheet1のVLOOKUPは1500行も使っている上に、VLOOKUPを使っている行や別のデータを入れている行もあり、簡単には引数を14から15に変更出来ません。 sheet1のVLOOKUPの14を15に返る簡単な方法は無いでしょうか? つたない説明で申し訳ありません。 宜しくお願いします。

  • VLOOKUP関数をIFで条件付けしたのですが。。

    シートが2枚あり1枚は名簿シートです。 別シートのセルA1に名簿シートのコード番号を入力し セルA2にVLOOKUP関数で式を下記のように入れています。 =VLOOKUP(A1,名簿!N:P,3,FALSE) このとき値がブランクになるときがあるので そのときは隣の列から数値を拾い出したいのです。 そこで =VLOOKUP(A1,名簿!N:Q,4,FALSE) だと思うのですがですが、自分でIFで式を組んだら =IF(VLOOKUP(A1,名簿!N:P,3,FALSE)="",VLOOKUP(A1,名簿!N:Q,4,FALSE),VLOOKUP(A1,名簿!N:P,3,FALSE)) となりました。 一応、希望通りの答えが返されるのですが、 もっと簡潔な組み方はあるのでしょうか?? IFでなくても何か方法があるのでしょうか?? よろしくご教授お願いします。

  • VLOOKUP関数 列番号の設定の仕方教えて下さい

    VLOOKUP関数の列番号を 1、2、とかではなく、 計算して列番号を設定することはできますか? シート2 に入っているデータを参照して シート1 に関数をいれて、表示させたいと思っています。 シート2 データは 3行目に、項目(品名、(1)材料名、(2)数量、(2)材料名、(2)数量、...、(10)材料名、(10)数量) A列、 B列、 C列、 D列、 E列、...、 M列、 N列 クッキー、小麦粉、100、卵、1、...、砂糖、20 クラッカー、小麦粉、100、米粉、10、...、りんご、0.2 が入っていて、4行目から100行目くらいまでデータがはいっています。 シート1 の セルA5に品名を入力すると、 シート2の(1)材料名がセルA6に、 (1)数量がセルB6に、 (2)材料名がセルA7に、 (2)数量がセルB7に、 ... (10)材料名がセルA15に、 (10)数量がセルB15に、 入るように作りたいのですが、VLOOKUPの列番号を COLUMNやINDEXなど試してみましたが、エラーばかりで うまくできません...VLOOKUPでは無理なのでしょうか? どなたか詳しい方教えてください。よろしくお願いします・

  • VLOOKUPに関して教えてください

    EXCEL97です VLOOKUP関数で =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)という式を入力して次の列にコピーすると =VLOOKUP($B$1,SHEET!$A$2:$Q$30,2,0)とコピーしてしまいますよね 次の行には=VLOOKUP($B$1,SHEET!$A$2:$Q$30,3,0)にしたい時があるのでいつも 手入力で2→3に変更するかVLOOKUP式を入れなおしているのですが 手入力せずに2→3をコピーできる方法ってありますか? VLOOKUP式を使うことが多く毎回めんどくさくて・・・ どなたか教えてくださいませんか?

  • EXCEL VLOOKUP関数の式を隣の列にコピーする(列番号が異なる)と、うまくその式が使えない

    すみません、つい先ほど、一度投稿したかと思ったんでですが、 アップされていないので、また投稿しました。もし、2重投稿なら、すぐに削除します。 質問: 数式のコピー(オートフィル)は、理解しているのですが、 VLOOKUPで設定した数式を列番号が、変わる項目へもコピーして 使用できるかと、コピーしたんです。そして、列番号だけ変更したんですが、うまく動きません。 数式そのものは、同じなんで列番号だけ 変えたら使えそうなんですが。。。だめですかね。。 ちなみに、その数式をコピーする際ににちょっとコツがあったような。。 単純なオートフィルでもなく、形式を選択して貼り付け(数式)でもNG. たしか、あったような。。数式バーで作業するような、、うーーー。 どなたか、わかるかた教えてください! それとも、列番号がことなる場合には、最初から式を設定するのがベストですか。。 こんな私に一発ご指導を!お待ちしております。

専門家に質問してみよう