2016-08-17 27 views
0

異なる価格値を更新するスプレッドシートが自動的に更新されています。値の変更に応じてセルの色を変更する方法

セルの値が上がると、セルが緑色に変わるように、条件付き書式を設定する方法を教えてください。それが下がると、セルは赤色に変わります。また、セルがまったく変更されない場合は、それは白のままです。

すべてのヘルプは高く評価され:)

+1

スプレッドシートを自動的にフォーマットするには、カラースケールを使用します。https://support.google.com/docs/answer/78413?co=GENIE.Platform%3DDesktop&hl=en –

+0

@WaqarAhmad私が探しているものではありません。それを調べた後、セルの古いデータを変更するときに別のセルに保存してから、2つのセルを比較する必要があるようです。それのための任意のヒント? – TabloidA

+0

Appsスクリプトでスプレッドシートを更新していますか?更新する前に両方の値を比較し、[setBackground(color)](https://developers.google.com/apps-script/reference/spreadsheet/range#setbackgroundcolor)メソッド – ocordova

答えて

0

のコメントの推奨事項に加えて、ユーザーがスプレッドシート内の任意のセルの値を変更したときに自動的に実行さonEdit()機能を使用することを検討すべきです。それは適切に対応するためにevent objectの情報を使用します。

見つけたこのrelated SO questionは、if文を使用するように提案しました。

サンプルコード:

function onEdit(event) 
{ 
    var ss = event.range.getSheet(); 
    if (ss.getName() !== "Sheet2") return; // Get out quickly 
    var changedCell = event.source.getActiveRange(); 
    var changedCellA1 = changedCell.getA1Notation(); 
    if (changedCellA1 !== 'B3') return; 

    var c = event.value; // We know we edited cell B3, just get the value 
    var background = 'white'; // Assume 1 <= c <= 2 
    if (c > 2) { 
    background = 'red'; 
    } 
    else if (c < 1) { 
    background = 'black'; 
    } 
    changedCell.setBackground(background); 
    ss.getRange("B12").setBackground(background); 
} 

またこれらの関連リンクをチェックすることができます

これが役立つことを願っています!

関連する問題