Как написать макрос, который активирует другой макрос, в зависимости от условия?
Можно использовать инструкцию switch

function oneButtonMacros() {
  switch (SpreadsheetApp.getRange('Sheet1!A1').getValue()) {
    case 1:
      macros1();
      break;
    case 2:
      macros2();
      break;
    case 3:
      macros3();
      break;
  }
}
Макрос это процедура
Вызывается из кода как обычноsub MyGlavniyMacros()
   select case ActiveSheet.range("A1").value
      case 1: call MySlaveMacros1()
      case 2: call MySlaveMacros2()
      case else : call MySlaveMacrosDefault()
   end select
end sub
последний case else - означает выполнить для всех вариантов не прописанных выше