1

我需要一個公式/腳本的谷歌電子表格,將做到這一點:如果當前單元格的值大於單元格中的數值越高彩色細胞RED如果上述值單元格較低

以上使當前單元格背景紅色(如果小於或等於然後留白色),像這樣:=IF((C34>B34),"make background red","leave background white")只是不知道這是否會工作,或者我需要一個更復雜的腳本。

我需要這個公式來處理224個單元格(28列和8行)。條件格式不會工作。

當天將有多達20人查看該文檔,只有一個人正在編輯數據。腳本會減慢實時電子表格的工作速度,因爲我需要計算主工作表中的數據到彙總表中的一些更復雜的公式。

我已經在這裏和其他論壇搜索,但每個人的公式都是獨一無二的!

乾杯

回答

1

可以通過從上方的一個剛改變了細胞讀取值,使得比較,並適當地着色使用onEdit()觸發到的變化作出反應。您必須在腳本中執行此操作,您無法控制自定義函數的顏色。

您說過「如果當前單元格的值高於上面的單元格中的值」,但您的示例中有=IF((C34>B34)...,即「旁邊」,而不是「上面」。此代碼使用.offset(-1,0)作爲「高於」,並確保它不會混淆第1行以上的行 - 如果您的意思是「旁邊」,則需要更改該行。

function onEdit(event) 
{ 
    if (isNaN(event.value)) return;  // If change was not a number, exit 
    var changedCell = event.range; 
    if (changedCell.getRow() == 1) return; // Nothing to do in Row 1 
    var cellAbove = changedCell.offset(-1, 0); 
    var background = 'white';    // Assume white background 
    // Is the changed value greater than the value in the cell above? 
    if (parseFloat(event.value) > parseFloat(cellAbove.getValue())) { 
    background = 'red';     // Yes, so red background 
    } 
    changedCell.setBackground(background); 
} 

WRT性能,則觸發功能將放緩事情有點,但我懷疑你會看到一個更大的滯後,由於大量多的觀衆,如谷歌,文檔做它的東西,以保持所有這些不同的視圖同步。 (我已經看過< 100張單元的紙張,沒有任何配方跟上< 10個觀衆)。

1

有條件的格式將無法使用。

可能不是在寫的時候,但它現在。

假設你的陣列開始在B34以其左上角,清晰的格式和選擇B35:AC41和格式,條件格式...如果... 單元格格式自定義公式爲和:

=A35>A34 

選擇紅色填充和完成

相關問題