スプレットシートで#N/Aを表示させない
申し訳ありません、スプレットシートで
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が
表示されなくなりますか?
宜しくお願いします。
補足
回答ありがとうございます。 シートは入力シートと単価シートの2つのみです。 入力シートのA、E列で値を入力して単価シートから 単価を取得する仕様になります。 普通ならvlookupの式を設定しておけばよいのですが 単価を参照した後に値を直接入力することがあるので スクリプトで出来ないかと思い投稿しました。