function ods_to_csf_formula(f) { if(f.slice(0,3) == "of:") f = f.slice(3); if(f.charCodeAt(0) == 61) { f = f.slice(1); if(f.charCodeAt(0) == 61) f = f.slice(1); } f = f.replace(/COM\.MICROSOFT\./g, ""); f = f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, function($$, $1) { return $1.replace(/\./g,""); }); f = f.replace(/\[.(#[A-Z]*[?!])\]/g, "$1"); return f.replace(/[;~]/g,",").replace(/\|/g,";");}
function csf_to_ods_formula(f) { var o = "of:=" + f.replace(crefregex, "$1[.$2$3$4$5]").replace(/\]:\[/g,":"); return o.replace(/;/g, "|").replace(/,/g,";");}
function ods_to_csf_3D(r) { var a = r.split(":"); var s = a[0].split(".")[0]; return [s, a[0].split(".")[1] + (a.length > 1 ? (":" + (a[1].split(".")[1] || a[1].split(".")[0])) : "")];}
function csf_to_ods_3D(r) { return r.replace(/\./,"!");}