I have a sheet that has radio buttons in 1 row from columns D to I. In columns B and C there are 2 checkboxes that I am using as a tally to increase and decrease values in different cells. What I want to acheive is, when a radio button is selected and is true(when a checkbox is checked), the increasing and decresing buttons/checkboxes change their location to increment and decrement the value at that location.
My problem is when I format the conditional statements, the increasing and decreasing buttons don’t work. Help would be very much appreciated, I am new to coding so sometimes the syntax can be confusing. Below is what I have tried.
const RADIO_COLUMNS = ["D","E","F","G","H","I"];
function onEdit(e) {
const sheet = e.range.getSheet();
const row = e.range.rowStart;
const col = e.range.columnStart;
const val = sheet.getRange(row,col).getValue();
const colLetter = String.fromCharCode(64 + col);
if (val == true && RADIO_COLUMNS.includes(colLetter)) {
RADIO_COLUMNS.filter(column => column !== colLetter)
.forEach(column => sheet.getRange(column + row).uncheck());
}
//if (!e) throw "Do not run from editor";
if (RADIO_COLUMNS['D']='TRUE'){
incrementAndDecrementD(e);
}
else if (RADIO_COLUMNS['E']='TRUE') {
incrementAndDecrementE(e);
}
else if (RADIO_COLUMNS['F']='TRUE') {
incrementAndDecrementF(e);
}
//if radio buttons true then function incrementandDecrement(e)
}
}
function incrementAndDecrementD(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,2);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,1);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}
function incrementAndDecrementE(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,3);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,2);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}
function incrementAndDecrementF(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,4);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,3);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}
function incrementAndDecrementG(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,5);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,4);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}
function incrementAndDecrementH(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,6);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,5);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}
function incrementAndDecrementI(e){
const src = e.source.getActiveSheet();
const r = e.range;
if (src.getName() != "b" || r.columnStart < 2 || r.columnStart > 3) return;
let out;
if (r.columnStart == 2){
out = r.offset(0,7);
out.setValue(out.getValue()+1)
} else {
out = r.offset(0,6);
out.setValue(out.getValue()-1)
}
r.setValue("FALSE");
}