我正在尝试确定数据集中趋势分析的买入和卖出点。以下是数据样本:第一列是买入,第二列是卖出。
1 [0, 0]
2 [1, 0]
3 [0, 0]
4 [0, 0]
5 [1, 0]
6 [0, 0]
7 [0, 0]
8 [0, 1]
9 [0, 0]
10 [1, 0]
第二排表示购买,所以第五排不必说买,因为我想以最低价购买。我怎样才能将第5行设为0,0,因为我希望下一个1是第8行(卖出)。
感谢。
答案 0 :(得分:0)
如果要“就地”更改数据,则需要VBA。如果要在两个新列中生成修改后的指标,例如C和D,请在C2和D2中使用以下 CSE公式(输入每个列并按Ctrl + Shift + Enter),然后填写C和D列:
C2:
=A2*IFERROR(MAX(ROW($A$1:$A1)*$A$1:$A1)<=MAX(ROW($A$1:$A1)*$B$1:$B1),1)
' Ctrl+Shift+Enter
D2:
=B2*IFERROR(MAX(ROW($A$1:$A1)*$A$1:$A1)>=MAX(ROW($A$1:$A1)*$B$1:$B1),1)
' Ctrl+Shift+Enter
答案 1 :(得分:0)
或者,VBA解决方案:
Sub analyzecells()
Dim i As Integer
Dim j As Integer
For i = 1 To 100
If Not ActiveWorkbook.Sheets("Sheet1").Range("A" & i).Value = 0 And _
ActiveWorkbook.Sheets("Sheet1").Range("B" & i).Value = 0 Then
If ActiveWorkbook.Sheets("Sheet1").Range("A" & i).Value = 1 Then
For j = i + 1 To 100
If ActiveWorkbook.Sheets("Sheet1").Range("B" & j).Value <> 1 Then
ActiveWorkbook.Sheets("Sheet1").Range("A" & j).Value = 0
ActiveWorkbook.Sheets("Sheet1").Range("B" & j).Value = 0
Else
Exit For
End If
Next j
End If
End If
Next i
End Sub