Я использую эту формулу в столбце G
=IF(ISBLANK(A3),"User missing",IFS(C3=E3,0,E3 = "","Empty Data",C3<>E3,"Wrong Data"))
Применение этой формулы для 30 тыс. данных делает мой лист медленным. Нужно преобразовать в скрипт.
Поскольку If и IFS используются в одной и той же формуле, мне сложно преобразовать это в Script.
Состояние:
If Column A is Empty then "User Missing"
If A have data,
then condition is
If E is empty then "Empty Data"
If C and E is not equal then "Wrong Data"
If C and E is equal then 0
Учитывая, что вам нужны столбцы A,C,E
, я использовал диапазон A2:E
и вставил полученные данные в столбец F
:
function myFunction(){
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sh = ss.getSheetByName("Sheet1");
const vals = sh.getRange("A2:E"+sh.getLastRow()).getValues();
const cvals = [];
vals.forEach(r=>{
cvals.push( [
r[0]==''?"User Missing":
r[4]==''?"Empty Data":
r[2]!=r[4]?"Wrong Data":0
])
});
sh.getRange(2,6,cvals.length,1).setValues(cvals); // paste in column F
}
пожалуйста отредактируйте свой вопрос, чтобы обновить условия на основе новых столбцов.
@Моисей не уверен, что ты отредактировал. Вы хотите изменить только входные столбцы? условия снова основаны на столбцах C, D, E? Пожалуйста, отредактируйте эту часть и измените буквы столбца, которые вы хотите использовать: If Column D is Empty then "User Missing" If D have data, then condition is If E is empty then "Empty Data" If C and E is not equal then "Wrong Data" If C and E is equal then 0
@Моисей, я обновил ответ. дайте мне знать, если это сработало
Тот же вопрос здесь, вместо C, D, E . Если я использую A,C,E, как будут vals?