![](/img/trans.png)
[英]Sheets - Conditional formatting based on cell (date) in column based on dates in another column
[英]Change cell value (text) based on date with conditinal formatting in Google Sheets?
我有問題。 我們正在為我們的一個內部產品制作一個規划工具。 在此工具中,我們可以手動(下拉菜單)(E 列)切換項目(在本例中為包裹)的狀態。 根據狀態,它最終出現在員工計划概覽選項卡之一中。 但是,每個包裹都有一個離線日期(G 列)。 此日期是包將自動脫機的時刻。 根據離線日期,我想將單元格狀態自動切換為“離線”。 問題是這個單元格也可以手動更改(對於其他狀態)。
我在想,可能有條件格式的技巧也可以更改單元格內的值/文本。 當當前日期是“離線日期”或晚於離線日期時,條件格式會將單元格的狀態更改為:“離線”。
有沒有人有這個技巧? 先感謝您!
鏈接到示例表: Stackoverflow 示例日期更改單元格表
如果 G 列中伴隨的離線日期等於函數運行的日期,則此函數確實將 E 列中的狀態更改為“離線”。
function changeStatusToOffline() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var lastRow = sheet.getLastRow();
// column E for status
var statusRange = sheet.getRange(2, 5, lastRow - 1, 1);
var statusValues = statusRange.getValues();
// column G for offline dates
var offlineDateRange = sheet.getRange(2, 7, lastRow - 1, 1);
var offlineDateValues = offlineDateRange.getValues();
// set time properties of today to 0 to compare date values only
// do the same with the individual offline dates later
var todayDate = new Date();
todayDate.setHours(0,0,0,0);
var todayTime = todayDate.getTime();
// generate status output during iteration of date values
var statusOutput = offlineDateValues.map((offlineDateValue, index) => {
// the same with today's date
var offlineDate = new Date(offlineDateValue);
offlineDate.setHours(0,0,0,0)
var offlineTime = offlineDate.getTime();
// if trigger date value is same as offline date value, change status to offline
if (todayTime == offlineTime)
return ['Offline'];
// use existing value if date are not the same
return statusValues[index];
});
// set the status range by bulk
statusRange.setValues(statusOutput);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.