$sheet.Range("N1").FormulaLocal = 'date'
$sheet.Range("O1").FormulaLocal = 'home team'
$sheet.Range("P1").FormulaLocal = 'home Goalie'
$sheet.Range("Q1").FormulaLocal = 'OT=1 or 2'
$sheet.Range("R1").FormulaLocal = 'away team'
$sheet.Range("S1").FormulaLocal = 'away Goalie'
$sheet.Range("T1").FormulaLocal = 'SO =1 or 2'
$sheet.Range("U1").FormulaLocal = 'units if tH'
$sheet.Range("V1").FormulaLocal = 'units if tA'
$sheet.Range("W1").FormulaLocal = 'base O/U'
$sheet.Range("X1").FormulaLocal = 'units U'
$sheet.Range("Y1").FormulaLocal = 'units O'
$sheet.Range("Z1").FormulaLocal = 'result H'
$sheet.Range("AA1").FormulaLocal = 'result A'
$sheet.Range("AB1").FormulaLocal = 'k H'
$sheet.Range("AC1").FormulaLocal = 'k A'
$sheet.Range("AD1").FormulaLocal = 'k t'
$sheet.Range("AE1").FormulaLocal = 'opp'
$sheet.Range("AF1").FormulaLocal = 'PO=1 or Reg=2'
$sheet.Range("AG1").FormulaLocal = 'X=1 or 2'
$sheet.Range("AH1").FormulaLocal = 'score'
$sheet.Range("GA1").FormulaLocal = 'am line U/O'
$sheet.Range("GC1").FormulaLocal = 'am line W/L'
$sheet.Range("GG1").FormulaLocal = 'team'
; вÑтавка формул
; еÑли вÑтавка в Excel из IE преобразовывает в формат ММ/ДД/Ğ“Ğ“Ğ“Ğ“, менÑет на ММ/ДД/Ğ“Ğ“Ğ“Ğ“. Кроме того, ищет знак "/" и разбивает Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ñ Ğ½Ğ° ДД, ММ и Ğ“Ğ“ и преобразовывает в дату в завиÑимоÑти от длины Ñтроки: 7 или 8
$sheet.Range("N2").FormulaLocal = '=ЕСЛИ(Ğ•ĞШИБКĞ(Ğ”ĞĞ¢Ğ(Ğ“ĞĞ”(A2);ДЕĞЬ(A2);МЕСЯЦ(A2)));ЕСЛИ(ДЛСТР(A2)=7;Ğ”ĞĞ¢Ğ(Ğ—ĞĞЧЕĞ(ĞŸĞ ĞВСИМВ(A2;2))+2000;Ğ—ĞĞЧЕĞ(ЛЕВСИМВ(A2;1));Ğ—ĞĞЧЕĞ(ЛЕВСИМВ(ПСТР(A2;3;20);2)));ЕСЛИ(ДЛСТР(A2)=8;Ğ”ĞĞ¢Ğ(Ğ—ĞĞЧЕĞ(ĞŸĞ ĞВСИМВ(A2;2))+2000;Ğ—ĞĞЧЕĞ(ЛЕВСИМВ(A2;2));Ğ—ĞĞЧЕĞ(ЛЕВСИМВ(ПСТР(A2;4;20);2)));0));Ğ”ĞĞ¢Ğ(Ğ“ĞĞ”(A2);ДЕĞЬ(A2);МЕСЯЦ(A2)))'
$sheet.Range("O2").FormulaLocal = '=ЕСЛИ(Ğ•ĞШИБКĞ(ĞĞЙТИ("@";B2));GG2;ПСТР(B2;3;90))'
$sheet.Range("P2").FormulaLocal = '=ЕСЛИ(O2=GG2;D2;E2)'
$sheet.Range("Q2").FormulaLocal = '=ЕСЛИ(Ğ•ĞШИБКĞ(ĞŸĞИСК("ot";C2));2;1)'
$sheet.Range("R2").FormulaLocal = '=ЕСЛИ(O2=GG2;B2;GG2)'
$sheet.Range("S2").FormulaLocal = '=ЕСЛИ(P2=D2;E2;D2)'
$sheet.Range("T2").FormulaLocal = '=ЕСЛИ(Ğ•ĞШИБКĞ(ĞŸĞИСК("so";C2));2;1)'
$sheet.Range("U2").FormulaLocal = '=ЕСЛИ(СУММПРĞИЗВ((Z2-AA2>0)*(O2=GG2));ЕСЛИ(Ğ•ĞШИБКĞ(ЕСЛИ(GC2>0;GC2/100+1;1+100/-GC2));0;ЕСЛИ(GC2>0;GC2/100+1;1+100/-GC2))-1;ЕСЛИ(СУММПРĞИЗВ((Z2-AA2>0)*(O2<>GG2));"";ЕСЛИ(СУММПРĞИЗВ((Z2-AA2<0)*(O2<>GG2));"";-1)))'
$sheet.Range("V2").FormulaLocal = '=ЕСЛИ(СУММПРĞИЗВ((Z2-AA2<0)*(R2=GG2));ЕСЛИ(Ğ•ĞШИБКĞ(ЕСЛИ(GC2>0;GC2/100+1;1+100/-GC2));0;ЕСЛИ(GC2>0;GC2/100+1;1+100/-GC2))-1;ЕСЛИ(СУММПРĞИЗВ((Z2-AA2<0)*(R2<>GG2));"";ЕСЛИ(СУММПРĞИЗВ((Z2-AA2>0)*(R2<>GG2));"";-1)))'
; Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ñ Ğ—ĞĞЧЕРпреобразовывает текÑÑ‚ в чиÑло, Ğ° Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ñ ĞŸĞДСТĞВИТЬ делает аналог Ctrk-h Ñ Ğ²Ñтавкой в ту же Ñчеку
$sheet.Range("W2").FormulaLocal = '=Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ПСТР(G2;3;ĞĞЙТИ(" ";G2;3)-2);".";","))'
$sheet.Range("X2").FormulaLocal = '=ЕСЛИ(ЕСЛИ(Z2+AA2<W2;ЕСЛИ(GA2>0;GA2/100+1;ЕСЛИ(GA2<0;(1+100/-GA2);0))-1;ЕСЛИ(Z2+AA2=W2;0;-1))>2;0;ЕСЛИ(Z2+AA2<W2;ЕСЛИ(GA2>0;GA2/100+1;ЕСЛИ(GA2<0;(1+100/-GA2);0))-1;ЕСЛИ(Z2+AA2=W2;0;-1)))'
$sheet.Range("Y2").FormulaLocal = '=ЕСЛИ(ЕСЛИ(Z2+AA2>W2;ЕСЛИ(GA2>0;GA2/100+1;ЕСЛИ(GA2<0;(1+100/-GA2);0))-1;ЕСЛИ(Z2+AA2=W2;0;-1))>2;0;ЕСЛИ(Z2+AA2>W2;ЕСЛИ(GA2>0;GA2/100+1;ЕСЛИ(GA2<0;(1+100/-GA2);0))-1;ЕСЛИ(Z2+AA2=W2;0;-1)))'
$sheet.Range("Z2").FormulaLocal = '=ЕСЛИ(O2=GG2;ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ПСТР(AH2;1;ĞĞЙТИ("-";AH2)-1);" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ПСТР(AH2;1;ĞĞЙТИ("-";AH2)-1);" ";"")));ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(AH2;ДЛСТР(AH2)-ĞĞЙТИ("-";AH2));" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(AH2;ДЛСТР(AH2)-ĞĞЙТИ("-";AH2));" ";""))))'
$sheet.Range("AA2").FormulaLocal = '=ЕСЛИ(O2=GG2;ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(AH2;ДЛСТР(AH2)-ĞĞЙТИ("-";AH2));" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(AH2;ДЛСТР(AH2)-ĞĞЙТИ("-";AH2));" ";"")));ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ПСТР(AH2;1;ĞĞЙТИ("-";AH2)-1);" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ПСТР(AH2;1;ĞĞЙТИ("-";AH2)-1);" ";""))))'
$sheet.Range("AB2").FormulaLocal = '=ЕСЛИ(U2="";0;ЕСЛИ(GC2<0;100/-GC2+1;GC2/100+1))'
$sheet.Range("AC2").FormulaLocal = '=ЕСЛИ(V2="";0;ЕСЛИ(GC2<0;100/-GC2+1;GC2/100+1))'
$sheet.Range("AD2").FormulaLocal = '=ĞœĞКС(AB2;AC2)'
$sheet.Range("AE2").FormulaLocal = '=ЕСЛИ(O2=GG2;R2;O2)'
; еÑли Ñтрока не выше, чем 4-Ñ, то беретÑÑ Ğ²Ğ²ĞµÑ€Ñ… и вниз 8 значений, проверÑетÑÑ, Ñколько из них неодинаковых, и еÑли из 7 Ñ…Ğ¾Ñ‚Ñ Ğ±Ñ‹ 4 окажутÑÑ Ğ¾Ğ´Ğ¸Ğ½Ğ°ĞºĞ¾Ğ²Ñ‹Ğ¼Ğ¸, возвращает 1. Ñ„ÑƒĞ½ĞºÑ†Ğ¸Ñ Ğ§ĞĞ¡Ğ¢ĞТРразбивает веÑÑŒ диапазон из 8 значений на отрезки (например, еÑли 8 значений проверÑетÑÑ Ğ¸ из них 3 неодинаковые, то диапазон делитÑÑ Ğ½Ğ° 4 отрезка, где неодинаковые Ğ·Ğ½Ğ°Ñ‡ĞµĞ½Ğ¸Ñ - точки на нем)
$sheet.Range("AF2").FormulaLocal = '=ЕСЛИ(ĞœĞКС(ЧĞĞ¡Ğ¢ĞĞ¢Ğ(СТРĞĞšĞ(СМЕЩ(AE2;ЕСЛИ(СТРĞĞšĞ()>=5;-3;2-СТРĞĞšĞ());0;8;1));(СМЕЩ(AE2;ЕСЛИ(СТРĞĞšĞ()>=5;-3;2-СТРĞĞšĞ());0;7;1)<>AE2)*СТРĞĞšĞ(СМЕЩ(AE2;ЕСЛИ(СТРĞĞšĞ()>=5;-3;2-СТРĞĞšĞ());0;7;1)))-1)>=4;1;2)'
$sheet.Range("AG2").FormulaLocal = '=ЕСЛИ(ИЛИ(Q2=1;T2=1);1;2)'
; убирает вÑе лишнее, кроме Ñчета через знак "-"
$sheet.Range("AH2").FormulaLocal = '=ĞŸĞДСТĞВИТЬ(ĞŸĞДСТĞВИТЬ(ĞŸĞДСТĞВИТЬ(ĞŸĞДСТĞВИТЬ(C2;"(OT)";"");"(SO)";"");"L";"");"W";"")'
$sheet.Range("GA2").FormulaLocal = '=Ğ—ĞĞЧЕĞ(ĞŸĞ ĞВСИМВ(ПСТР(G2;3;20);ДЛСТР(ПСТР(G2;3;20))-ĞĞЙТИ(" ";ПСТР(G2;3;20))))'
$sheet.Range("GC2").FormulaLocal = '=ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(F2;ДЛСТР(F2)-ĞĞЙТИ("L";F2));" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(F2;ДЛСТР(F2)-ĞĞЙТИ("L";F2));" ";"")))+ЕСЛИ(Ğ•ĞШИБКĞ(Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(F2;ДЛСТР(F2)-ĞĞЙТИ("W";F2));" ";"")));0;Ğ—ĞĞЧЕĞ(ĞŸĞДСТĞВИТЬ(ĞŸĞ ĞВСИМВ(F2;ДЛСТР(F2)-ĞĞЙТИ("W";F2));" ";"")))'
$sheet.Range("N2:GD2").AutoFill ($sheet.Range("N2:GD10000"))
Sleep(2000)
; копирование команды Ñ Ñ€ĞµĞ·ÑƒĞ»ÑŒÑ‚Ğ°Ñ‚Ğ°Ğ¼Ğ¸ на Ñвой отдельный лиÑÑ‚
; фильтр выбирает даты, больше чем 01.01.2000 (36526)
$sheet.Range("N:GG").AutoFilter(1, '>36526')
Sleep(2000)
SeparateTeams($oExcel, 30)
Sleep(4000)
; Ğ´Ğ»Ñ ĞºĞ°Ğ¶Ğ´Ğ¾Ğ¹ команды определенные результаты выводÑÑ‚ÑÑ Ğ½Ğ° первый лиÑÑ‚
$sheet.Columns('A:HH').Delete()
TeamsinOne($oExcel, 30)
$oExcel.Worksheets('Washington').Range('A1:AZ1').Copy
$sheet.Range("A1").PasteSpecial(-4163, -4142)
; удалÑем лишние лиÑÑ‚Ñ‹
DelSheets($oExcel, 1)
_ExcelSheetDelete($oExcel, "ЛиÑÑ‚2")
_ExcelSheetDelete($oExcel, "ЛиÑÑ‚3")
; ÑопоÑтавление каждому матчу ÑтатиÑтику оппа
$sheet.Range("BB2").FormulaLocal = '=СЦЕПИТЬ(A2;B2;E2;M2;N2)'
$sheet.Range("BC2").FormulaLocal = '=СЦЕПИТЬ(A2;B2;E2;M2;N2)'
$sheet.Range("BD2").FormulaLocal = '=ЕСЛИ(AS2=B2;E2;B2)'
$sheet.Range("BE2").FormulaLocal = '=ЕСЛИ(BD2=B2;C2;F2)'
$sheet.Range("BF2").FormulaLocal = '=ЕСЛИ(BD2=B2;D2;G2)'
$sheet.Range("BB2:BF2").AutoFill ($sheet.Range("BB2:BF10000"))
$sheet.Range('BB2:BF10000').Copy
$sheet.Range("BB2").PasteSpecial(-4163, -4142)
$sheet.Range("BG2").FormulaLocal = '=СУММЕСЛИ($BC:$BC;$BB2;P:P)-P2'
$sheet.Range("BG2").AutoFill ($sheet.Range("BG2:BG10000"))
$sheet.Range("BG2:BG10000").AutoFill ($sheet.Range("BG2:CR10000"))
$sheet.Range('BG2:CR10000').Copy
$sheet.Range("BG2").PasteSpecial(-4163, -4142)
$sheet.Range("BD1").FormulaLocal = 'opp team'
$sheet.Range("BE1").FormulaLocal = 'opp Goalie'
$sheet.Range("BF1").FormulaLocal = 'opp OT=1 or 2'
$sheet.Range("BG1").FormulaLocal = '=СЦЕПИТЬ("opp ";P1)'
$sheet.Range("BG1").AutoFill ($sheet.Range("BG1:CR1"))
$sheet.Range('BG1:CR1').Copy
$sheet.Range("BG1").PasteSpecial(-4163, -4142)
; определение поÑледней Ñтроки на лиÑте
$lastrowSheet = $sheet.Range('A10000').End(-4162).row
; удаление лишней информации и приÑвоение форматов
$sheet.Range("A" & $lastrowSheet + 1 & ":" & "DA10000").Clear
$sheet.Range('A:A').NumberFormat = "ДД.ММ.ГГГГ"
$sheet.Range('T:W').NumberFormat = "0%"
$sheet.Range('AT:BA').NumberFormat = "0%"
$sheet.Range('BK:BN').NumberFormat = "0%"
$sheet.Range('CK:CR').NumberFormat = "0%"
$sheet.Range('H:L').NumberFormat = "# ##0.0"
$sheet.Range('R:R').NumberFormat = "# ##0.0"
$sheet.Range('AH:AL').NumberFormat = "# ##0.0"
$sheet.Range('AP:AR').NumberFormat = "# ##0.0"
$sheet.Range('BI:BI').NumberFormat = "# ##0.0"
$sheet.Range('BY:CC').NumberFormat = "# ##0.0"
$sheet.Range('CG:CI').NumberFormat = "# ##0.0"