Формула Excel для определения максимального шаблона серии - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть Excel, представляющий сезон бейсбола Высшей лиги. Строки представляют сыгранные игры (в порядке № 1 - # 162)

Столбцы представляют каждую команду

Ячейки отображают W (выигрыш) илиL (потеря)

В нижней части каждой колонки (для каждой команды) мне нужны три результата:

  1. Максимальное количество W подряд для этой колонки (команда)

  2. Максимальное количество L в строке для этого столбца (команды)

  3. Максимальное количество чередующихся выигрышей / проигрышей или WL подряддля этой колонки (команды)

Последнему, возможно, понадобится более подробное объяснение: вот пример, команда А имеет следующие ячейки в следующем порядке: WWWLLWLWL LWLWLWL LLWWLW ---ответ здесь 7, так как максимальная полоса чередующихся результатов 7

1 Ответ

0 голосов
/ 27 апреля 2018

Попробуйте:

function countPairs() {
  var ss=SpreadsheetApp.getActiveSpreadsheet()
  var s=ss.getActiveSheet()
  var lr=s.getLastRow()
  var lc=s.getLastColumn()
  for(var j=1;j<lc+1;j++){
      var range= s.getRange(2, j, lr-1,1).getValues()
      var count=0
      var maxwl=0
      for(var i=161;i>0;i--){
         if(range[i][0]!=range[i-1][0]){
             count=count+1 
         if(count>maxwl){maxwl=count}
    }
    else{count=0}   
  }
  max=maxwl+1
  s.getRange(167,j).setValue(max)
  }}

Вот тестовая таблица:

https://docs.google.com/spreadsheets/d/1z_YpKNtk7nVKCOHyVcRC8sxN0GGxqQ8axdi1_UYUwgI/edit?usp=sharing

Я установил количество пар и изменил формулы для подсчета W и L наМаксимум.Я также добавил пользовательское меню для запуска скрипта.Чтобы использовать сценарий, в меню листа выберите инструменты и откройте редактор сценариев.Удалите то, что есть, скопируйте и вставьте код из редактора сценариев электронной таблицы.Сохраните его и запустите.Вам будет предложено утвердить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...