備忘錄_20160105(定位) 修改 回首頁

程式 2025-12-19 13:44:31 1766123071 100
顏先生(yen),月曆業績報表

顏先生(yen),月曆業績報表

// 顏先生(yen),月曆業績報表 2025-12-19

// 在 excel 中
// 1.合併儲存格的部分先整列刪除
// 2.用 Ctrl+H ,[Ctrl+J]CHR(10)→"_",然後全部取代。(將換行的可能消除)
// 3.再全選,用 Ctrl+1 ,改為通用格式。(讓逗號消失,小數點浮現)
// 4.選取需要的範圍,複製
// 貼到 文字處理器 中
// 執行下方的程式碼

var str1=gebi("ta1_htm").value.split(",").join("").split(" ").join("");
var stra1=getStraByCrLf(str1);

var straItem=stra1[0].split("\t");
var iColIdx推薦人=straItem.indexOf("推薦人");
var iColIdx數量=straItem.indexOf("數量");
var iColIdx金額=straItem.indexOf("金額");

console.log(iColIdx推薦人, iColIdx數量, iColIdx金額);

var oObj1={};

for(var i=1;i<stra1.length;i++)
{
  var straItem=stra1[i].split("\t");
  if(straItem.length<3) { continue; }
  
  var str推薦人=straItem[iColIdx推薦人];
  var str數量=straItem[iColIdx數量];
  var str金額=straItem[iColIdx金額];
  if(str推薦人=="") { str推薦人="(空)"; }
  if(str數量=="" || str數量=="-") { str數量="0"; }
  if(str金額=="" || str金額=="-") { str金額="0"; }
  var d數量=parseFloat(str數量);
  var d金額=parseFloat(str金額);
  
  
  if(oObj1.hasOwnProperty(str推薦人)==false)
  {
    oObj1[str推薦人]={};
    oObj1[str推薦人].d數量=d數量;
    oObj1[str推薦人].d金額=d金額;
  }
  else
  {
    oObj1[str推薦人].d數量+=d數量;
    oObj1[str推薦人].d金額+=d金額;
  }
}

var straResult=["推薦人\t數量\t金額"];
var straKey=Object.keys(oObj1);
straKey.sort();

for(var iK=0; iK<straKey.length; iK++)
{
  var strKey=straKey[iK];
  straResult.push(strKey+"\t"+oObj1[strKey].d數量+"\t"+oObj1[strKey].d金額);
}

gebi("ta1_htm").value=straResult.join("\r\n");

alert("請全選貼回EXCEL,並排序後,看看有無名字相近者。");