• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スプレッドシートでVLOOKUPのスクリプト文)

スプレッドシートでVLOOKUPのスクリプト文

mt2015の回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

単価を修正する時は単価シートの方を修正します。

関連するQ&A

  • スプレッドシートでの式の保護の仕方

    スプレッドシートで1つ教えて下さい。 A列のプルダウンで選択すると別シートの単価表を参照し B列からD列に単価が表示されるようにしました。 =VLOOKUP($A2,'単価シート'!$A$2:$D$10,2,False)という式になります。 しかし表示された単価を変更したい時に変更すると式までが消えてしまいます。 プルダウンから変更し直そうとすると式が消えてしまい 参照されません。 式は消えず、単価だけの訂正入力は可能でしょうか。 分かる方おられましたら、よろしくお願いします。

  • スプレッドシートのVLOOKUPについて

    スプレッドシートで1つ教えて下さい。 A列のプルダウンで選択すると別シートの品番単価表を参照し B列からD列に単価が表示されるようにしました。 同様にE列プルダウンで選択すると別シートの部品単価表を参照し F列からH列に単価が表示されるようにしました。 単価の値を変更後、再度プルダウンから値を選択すると 再度参照するように前回いろいろと教えて頂き下記のようなコードを書きました。 function WriteVlookup() { var sheet = SpreadsheetApp.getActive().getSheetByName('入力シート'); var myCell = sheet.getActiveCell(); var myRow=myCell.getRow(); var myColumn=myCell.getColumn(); if(myColumn==1 && myRow>=2 ){ for(var i = 2; i <= 4; i++) { strformula ='=VLOOKUP($A' + myRow + ',\'単価シート\'!$A$2:$D$4,' + i + ',False)'; sheet.getRange(myRow, i).setFormula(strformula); strformula2 ='=VLOOKUP($G' + myRow + ',\'単価シート\'!$A$6:$D$8,' + i + ',False)'; sheet.getRange(myRow, i + 6).setFormula(strformula2); } } }; しかしE列に値がなくてもセットしてしまい #N/Aが表示されてしまいます。 例えば 単価シート(2から4行目は品番単価、6から8行目は部品単価) 品番  単価1 単価2 単価3 あ   50 60 70 い   80 90 100  う 110 120 130 QQ 10 20 30 WW 40 50 60 EE 70 80 90 入力シート A   B C D E F G H あ  50 60 70 #N/A #N/A #N/A い 80 90 100 QQ 40 50 60 上記の式をどのように修正すれば#N/Aが 表示されなくなりますか? 分かる方おられましたら 教えて頂けないでしょうか。 宜しくお願いします。

  • 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式を使うことが多く毎回めんどくさくて・・・ どなたか教えてくださいませんか?

  • エクセルのVLOOKUPの複数参照について

    エクセルのVLOOKUPの複数参照について シート2(kokunai)に A列 B列 1000 シャープ 1010 ソニー 3050 パナソニック とあります。 シート3(yunyuu)に A列 B列 2000 IBM 2001 HP とあります。 シート1のC列に打ち込んだ数字を元にD列にメーカー名を表示したいのです。 D列に IF(C1="","",IF(ISERROR(VLOOKUP(C1,kokunai,1,0))="FALSE",VLOOKUP(C1,kokunai,2,0),VLOOKUP(C1,yunyuu,2,0))) と数式を打ちましたが、エラーが帰って来ます。 どうすれば良いでしょうか?

  • スクリプトの#N/A対策

    前回は大変丁寧な回答ありがとうございました。 申し訳ありません、今一度スプレットシートで 1つ教えて頂けないでしょうか。 前回同様の内容に入力列を1つ追加したいのです。 入力シートと単価シートがあります。 入力シートはA列から品番,単価1,単価2,単価3,部品,単価1,単価2,単価3となります。 単価シートはA列から品番,単価1,単価2,単価3で3行、1行空けて6行からは 部品,単価1,単価2,単価3で3行になります。 品番  単価1 単価2 単価3 あ   50 60 70 い   80 90 100  う   110 120 130 QQ   10 20 30 WW   40 50 60 EE   70 80 90 この様になります。 入力シートのA列で品番,E列で部品を入力すると単価シートを参照し B列からD列に品番単価,F列からH列に部品単価が表示されるようにしました。 そこで現状のコードだとE列に値が無くても部品単価1,2,3に#N/Aが セットされてしまいます。 下記のコードをA列,E列がセットされていない時は何もしないようにしたいのです。 function WriteVlookup() { var sheet = SpreadsheetApp.getActive().getSheetByName('入力シート'); var myCell = sheet.getActiveCell(); var myRow=myCell.getRow(); var myColumn=myCell.getColumn(); if(myColumn==1 && myRow>=2 ){ for(var i = 2; i <= 4; i++) { strformula ='=VLOOKUP($A' + myRow + ',\'単価シート\'!$A$2:$D$4,' + i + ',False)'; sheet.getRange(myRow, i).setFormula(strformula); strformula2 ='=VLOOKUP($E' + myRow + ',\'単価シート\'!$A$6:$D$8,' + i + ',False)'; sheet.getRange(myRow, i + 4).setFormula(strformula2); } } }; 例えば入力シートであと A列に入力すると E列まだ空白なのでF列からは#N/Aと表示されてしまいます。 A   B C D E F G H あ  50 60 70 #N/A #N/A #N/A い 80 90 100 QQ 40 50 60 上記のコードをどのように修正すれば#N/Aが 表示されなくなりますか? 宜しくお願いします。

  • VLOOKUPで質問

    VLOOKUP(D7,Sheet1!A$2:B$27,2,FALSE)という式を使用しています。 仮にB$27のB列を見に行くのではなくD列を見に行く式ってあるのですか? B列とC列は固定で他の値が入ってしまっています。 式があるならば教えてください。

  • VLOOKUP

    こんばんは、お世話になります。 早速ですが、 本来VLOOKUP関数を使う場合(第一引数、第二引数、第三引数)となっています、そこで何ですが A B C D E F G    1 ■入力表    2 商品No 商品名  単価  生産者 最低発注単位 納品予定 3 1 以下自粛その先にある物。 4 4 5 5 6 2 I J K L M N 1 ■マスタ 2商品No   商品名                  単価 3 1  以下自粛のそのさきにあるもの。       12000 4 2  1分で話せ。全裸で。 9800 5 3  いつか成功するから会費を払え。 淫らな心で。 15000 6 4  前向きな怠惰と前向きな惰性 18000 7 まぁこんな感じで表があるのですが。 そこで質問なんですが、この後 =VLOOKUP($B3, $I:$N, 2,0) これだと同じ値が入ってしまいますが(2列目までしか見てないから) =VLOOKUP($B3, $I:$N,6,0) こうすれば6列まで見ることが可能だけど、余談なんですが ビジネスの現場では、このようなVLOOKUP関数の入力と第三引数の修正が50列にわたるケースもあるそうです。 そこで第三引数にも参照を使うのですが長くなりましたがここで質問ですが、 A B C D E F G    1 ■入力表  2 3 4 5 6  2 商品No 商品名  単価  生産者 最低発注単位 納品予定 3 1 以下自粛その先にある物。 4 4 5 5 6 2 Cの1列目に数字を入れるのですが、 =VLOOKUP($B3,$I:$N,C$1.0)と関数を入力することによって Cの一列目を参照するとあるのですが、 Cの一列目には先ほど入れた数字しかないのにそこを参照して なぜ元々も情報を参照することができるのでしょうか? ご教示お願いします。

  • VLOOKUPの複数参照先

    こんばんは。 エクセルのVLOOKUPでの質問があります。 よろしくお願いします。 1つのbookの中にA,B,C,D...とシートがあります。 Aのシートにて、VLOOKUPを使ってデータの参照をしたいのですが、 B,C,D・・の複数のシートを参照先にしたいのですが、 可能なのでしょうか。 検索先の文字列に応じて検索シート先を変えられれば・・と 思っています。 もう一つ、参照先に目的の値がなかった場合、#N/Aが表示されるのですが、これを1などの数字にすることはできないでしょうか。 お願い致します。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • VLOOKUP関数が数式として認識されません!

    スポーツクラブの学童会員名簿を作成しています。 【目的】 VLOOKUP関数を利用して、シート1「名簿」のA列に会員番号を 手入力すると B列に学年、C列に氏名が各々自動入力されるようにしたい。 【設定】 ・シート1を「名簿」とし、  A列を会員番号、B列を学年、C列とD列を結合して氏名としました。 ・シート2を「参照データ」とし、  A列を会員番号、B列を学年、C列とD列(結合を解除)を氏名と  しました。 ・シート2の1行目はタイトル行とし、実際のデータが入っている  部分はA2:D20です。 ・シート1、シート2の全データは文字列として書式設定しています。 【状況】 学年を検索するための数式をシート1のB2に以下のとおり 入力しました。  =VLOOKUP(A2,参照データ!$A$2:$D$20,2,0) ところが、B2セルには正常な値(学年)が表示されずに 上記の数式がそのまま表示されてしまうのです。 A2に会員番号を入力してもB2の表示は変わりません。 本やウェブで解決方法を調べてみましたが、一向にわからず 困り果てております。 私はエクセル初心者なので一般的にはくだらない質問かも しれませんが、何卒ご教示くださいませ。