みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

スプレッドシートの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が
表示されなくなりますか?

分かる方おられましたら
教えて頂けないでしょうか。

宜しくお願いします。

投稿日時 - 2019-04-11 15:43:36

QNo.9605702

困ってます

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

質問履歴
非公開に設定されています。

とのことだったので、過去の事は知りません。

まずはすべてのシートがどのようなシートなのかをご説明下さい。

投稿日時 - 2019-04-11 16:38:07

補足

回答ありがとうございます。
シートは入力シートと単価シートの2つのみです。
入力シートのA、E列で値を入力して単価シートから
単価を取得する仕様になります。
普通ならvlookupの式を設定しておけばよいのですが
単価を参照した後に値を直接入力することがあるので
スクリプトで出来ないかと思い投稿しました。

投稿日時 - 2019-04-11 21:54:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問