=join(
"/"
;ТРАНСП(unique(
ТРАНСП(split(
join(
"/"
;ArrayFormula(
ЕСЛИОШИБКА(
ВПР(
split(
join(
"/"
;ArrayFormula(
ЕСЛИОШИБКА(
ВПР(
split(
ВПР(A1;FILTER(A:B;A:A<>"");2;0)
;"/"
)
;FILTER(A:B;A:A<>"")
;2
;0
)
;split(
ВПР(A1;FILTER(A:B;A:A<>"");2;0)
;"/"
)
)
)
)
;"/"
)
;FILTER(A:B;A:A<>"")
;2
;0
)
;split(
join(
"/"
;ArrayFormula(
ЕСЛИОШИБКА(
ВПР(
split(
ВПР(A1;FILTER(A:B;A:A<>"");2;0)
;"/"
)
;FILTER(A:B;A:A<>"")
;2
;0
)
;split(
ВПР(A1;FILTER(A:B;A:A<>"");2;0)
;"/"
)
)
)
)
;"/"
)
)
)
)
;"/"
))
))
)
/**
* Открывает URL и возвращает код страницы
* Telegram - @ProgrammerForever
*
* @param {string} URL URL который нужно открыть
* @param {boolean} isCut Указывает, нужно ли обрезать страницу до 50000 символов по длине, по умолчанию false
* @param {boolean} noScript Указывает, нужно ли удалять скрипты из кода
* @return Исходный код страницы
* @customfunction
*/
function getHTML(URL,isCut,noScript) {
if ((URL === undefined)||(URL == "")) { return "#ОШИБКА Пустой URL";};
if (isCut === undefined) {var isCut=true;};
if (noScript === undefined) {var noScript=true;};
if (URL.map){ //Если задан диапазон
return URL.map(getHTML);
}else{
try {
var payload = {
};
var headers={
};
var options = {
'method' : 'get',
'headers' : headers,
'payload': payload
};
var response = UrlFetchApp.fetch(URL,options);
var charset=response.getAllHeaders["charset"];
var responseText=response.getContentText(charset?charset:"UTF-8");
if (noScript){
responseText=responseText.replace(/<script[^>]*>(?:(?!<\/script>)[^])*<\/script>/gmi,"");
responseText=responseText.replace(/<!--.*?-->/gmi,"");
responseText=responseText.replace(/<link.*?\/>/gmi,"");
responseText=responseText.replace(/<meta.*?\/>/gmi,"");
responseText=responseText.replace(/[\n\r\t]/gmi,"");
};
if (isCut&&(responseText.length>50000)){return responseText.substring(0,50000);}else{return responseText;};
} catch (err) {
return "#ОШИБКА "+err.message;
};
};
};
SpreadsheetApp.getUi().alert("h,w!");
=ARRAY_CONSTRAIN(вашиДанные;1;1)
let arr = [0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0];
let p1 = arr.reduce((acc,val)=>acc+=val,0)/arr.length; // вероятность встретить 1
let p0 = 1 - p1; // вероятность встретить 0
let ratio10 = p1/p0; // Соотношение единиц к нулям
let ratio01 = p0/p1; // Соотношение нулей к единицам