基本機能
ここでカスタム関数は、リストからシンボルを取得するためです:
function getSymbol(n) {
var Symbols = ['○', '◔', '◑', '◕', '●'];
if (n >=0 && n <=4) {
return Symbols[n];
}
return 'not found';
}
式の使い方
が、より高速な方法があります:数式を使用します。
A B
0 ○
1 ◔
2 ◑
3 ◕
4 ●
してから使用式: この新シート 'シンボル' を追加して貼り付け
= vlookup(A2, Symbols!$A:$B, 2, 0)
のonEditコードを
あなたはコードがに記号を記入したい場合値[0-4]を入力したセルの場合は、次のコードを使用します。
function onEdit(e) {
var mySheetName = "Sheet1"; // change to yours
var myRangeAddress = "F15:F52"; // change to yours
var SS = SpreadsheetApp.getActiveSpreadsheet();
var ss = SS.getActiveSheet();
var myRange = e.range;
var targetRange = ss.getRange(myRangeAddress);
if (ss.getName() == mySheetName && RangeIntersect(targetRange, myRange)) {
var myVal = myRange.getValue();
var Symbol = getSymbol(myVal);
myRange.setValue(Symbol);
}
}
function getSymbol(n) {
var Symbols = ['○', '◔', '◑', '◕', '●'];
if (n >=0 && n <=4) {
return Symbols[n];
}
return 'not found';
}
function RangeIntersect(R1, R2) {
var LR1 = R1.getLastRow();
var Ro2 = R2.getRow();
if (LR1 < Ro2) return false;
var LR2 = R2.getLastRow();
var Ro1 = R1.getRow();
if (LR2 < Ro1) return false;
var LC1 = R1.getLastColumn();
var C2 = R2.getColumn();
if (LC1 < C2) return false;
var LC2 = R2.getLastColumn();
var C1 = R1.getColumn();
if (LC2 < C1) return false;
return true;
}
'onEdit'はカスタム関数ではなく、それはトリガーです。あなたはシートから機能を起動しますか?あなたはどんな結果を期待していますか?それは0 =○、1 =◔などですか? –
うん、私はトリガーとして使用したい、私はまたそれが範囲F15で動作するようにしたい:F52 ....と結果は私があなたが言っていることを期待している... – user2061886