再度請各位高手幫忙,感謝:
一支VBA程式,讀取原資料列,按鈕選擇"正向標準化"或"負向標準化"兩種方式的標準化計算,生成新數列A或B
新數列A =(原數列− 原數列最小值)/(原數列最大值− 原數列最小值)
新數列B =(原數列最大值− 原數列)/(原數列最大值− 原數列最小值)
'在起點位置的右邊第一欄放 A 數列
'在起點位置的右邊第二欄放 B 數列
Sub CalcStdDev()
Dim nMax, nMin, nDiff, nI
Range("A1").Select '起點位置
'設定初始值
nMax = Application.WorksheetFunction.Max(ActiveCell.EntireColumn)
nMin = Application.WorksheetFunction.Min(ActiveCell.EntireColumn)
nDiff = nMax - nMin
nI = 0
While Not IsEmpty(ActiveCell.Offset(nI, 0))
ActiveCell.Offset(nI, 1).Value = (ActiveCell.Offset(nI, 0).Value - nMin) / nDiff 'A 數列
ActiveCell.Offset(nI, 2).Value = (nMax - ActiveCell.Offset(nI, 0).Value) / nDiff 'B 數列
nI = nI + 1
Wend
End Sub