0

2 つのセルを比較する場合、Google Docs Spreadsheets は現在、条件付き書式をサポートしていません。

の場合B3 >= E3E3背景は緑ですが、 の場合B3 < E3E3背景は赤です

代わりに、JavaScript によるソリューションの回避策があります。

私はスクリプトを書くのが初めてで、 の正しい言語を見つけることができませんbut

フォーマットの最初の部分を実行するこれを見つけました。

var value1Rule1 = s.getRange('b3').getValue();
var value2Rule1 = s.getRange('e3').getValue();
var range3Rule1 = s.getRange('e3');
var color1 = 'green';

if (value1Rule1 >= value2Rule1) range3Rule1.setBackgroundColor(color1);
else range3Rule1.setBackgroundColor('white');

しかし、もしvalue1 is < value2.

4

3 に答える 3

0

使用できる良い例を次に示します。https://webapps.stackexchange.com/questions/45937/conditional-formatting-using-other-cells-in-google-docs

コードを関数名でラップし、「実行」を設定して新しいトリガーを追加し、イベントを「スプレッドシートから」「編集時」に設定する必要があるようです。

編集:

トリガーを使用しない別の例を次に示します: https://webapps.stackexchange.com/questions/16745/google-spreadsheets-conditional-formatting-based-on-another-cells-content?rq=1

function colorAll() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var endRow = sheet.getLastRow();

  for (var r = startRow; r <= endRow; r++) {
    colorRow(r);
  }
}

function colorRow(r){
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange(r, 1, 1, 3);

  var data = dataRange.getValues();
  var row = data[0];

  if(row[0] === ""){
    dataRange.setBackgroundRGB(255, 255, 255);
  }else if(row[0] > 0){
    dataRange.setBackgroundRGB(192, 255, 192);
  }else{
    dataRange.setBackgroundRGB(255, 192, 192);
  }

  SpreadsheetApp.flush(); 
}

function onEdit(event)
{
  var r = event.source.getActiveRange().getRowIndex();
  if (r >= 2) {
    colorRow(r);
  }
}

function onOpen(){
  colorAll();
}
​
于 2013-09-20T22:09:23.947 に答える